public class HierarchicalQDR extends QDR implements VectorClone
QDR
,
QDRMember
,
HierarchicalQDRMember
,
Serialized FormQDR.QDRMapEntry
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
DIMENSION_PROPERTY
The name of the dimension property on the dimension/member pair
|
protected HierarchicalQDRMember |
m_memberVaries |
protected HierarchicalQDRMember |
m_target |
protected static java.lang.String |
MEASURE_DIM_NAME_PROPERTY
The name of the Measure dimension property
|
protected static java.lang.String |
TARGET_PROPERTY
The name of the QDR target property
|
static java.lang.String |
XML_NAME_OLAP |
ALL_PROPERTIES, ELEMENT_SEPARATOR, m_dimensions, m_measureDim, m_members, PAIR_SEPARATOR, PROBLEM_SEPARATOR, REPLACEMENT_SEPARATOR, XML_NAME, XML_NAME_NEW
Constructor and Description |
---|
HierarchicalQDR()
Constructor for an empty
HierarchicalQDR that does not specify
the Measure dimension. |
HierarchicalQDR(HierarchicalQDR qdr)
Constructor for a copy of an existing
HierarchicalQDR . |
HierarchicalQDR(QDR qdr)
Constructor to convert a QDR into a HierarchicalQDR
|
HierarchicalQDR(java.lang.String measureDim)
Constructor for an empty
HierarchicalQDR that specifies the
Measure dimension. |
HierarchicalQDR(java.lang.String measureDim,
java.lang.String dimMemberPairs)
Constructor that specifies members for more than one dimension, by
specifying a
String for the member-dimension/hier/level pairs. |
Modifier and Type | Method and Description |
---|---|
void |
addDimMemberPair(java.lang.String dim,
HierarchicalQDRMember member)
Adds a dimension-member pair to this
HierarchicalQDR . |
void |
addDimMemberPair(java.lang.String dimension,
java.lang.String member)
Adds a dimension-member pair to this
QDR . |
void |
addDimMemberPair(java.lang.String dimension,
java.lang.String member,
java.lang.String hierarchy,
java.lang.String level)
Adds a dimension-member pair to this
HierarchicalQDR . |
void |
addIncrementalDimMemberPair(java.lang.String dim,
HierarchicalQDRMember member) |
protected static boolean |
contains(HierarchicalQDR qdr1,
HierarchicalQDR qdr2,
Comparison comparator) |
protected HierarchicalQDRMember |
createQDRMember() |
protected HierarchicalQDRMember |
createVariesMember() |
boolean |
equals(HierarchicalQDR q2)
Specifies whether this
QDR is equivalent to the specified
QDR . |
boolean |
equals(HierarchicalQDR q2,
Comparison comparator)
Specifies whether this
QDR is equivalent to the specified
QDR . |
boolean |
equals(java.lang.Object obj)
Specifies whether this
QDR is equivalent to the specified
object. |
boolean |
equals(java.lang.Object obj,
Comparison comparator)
Specifies whether this
QDR is equivalent to the specified
object. |
boolean |
equals(QDR qdr)
Specifies whether this
QDR is equivalent to the specified
QDR . |
java.util.Vector |
getAsymmetricDimensions(java.lang.String dimension)
Returns any dimensions besides
|
java.lang.String |
getDimMemberPairs()
Retrieves the dimension-member pairs of this
HierarchicalQDR , when
the HierarchicalQDRMembers are of type FIXED . |
protected java.lang.String |
getDimMemberPairTag() |
java.lang.String |
getTagName()
Retrieves the name used for persisting this
QDR in XML. |
java.lang.Object |
getXML(oracle.dss.util.persistence.XMLContext context)
Returns the XML representation of the object.
|
boolean |
isDimensionOnlyQDR()
Indicates whether this
HierarchicalQDR is a dimension-only
HierarchicalQDR . |
boolean |
isEmpty()
Returns true if this HierarchicalQDR is "empty": has no measure dim and no
member pairs
|
boolean |
isProperSubsetOf(HierarchicalQDR q2) |
boolean |
isProperSubsetOf(HierarchicalQDR q2,
Comparison comparator)
Specifies whether this
QDR is a proper subset of the
specified QDR . |
boolean |
isProperSupersetOf(HierarchicalQDR q2) |
boolean |
isProperSupersetOf(HierarchicalQDR q2,
Comparison comparator)
Specifies whether this
QDR is a proper superset of the
specified QDR . |
boolean |
isSubsetOf(HierarchicalQDR q2) |
boolean |
isSubsetOf(HierarchicalQDR q2,
Comparison comparator)
Specifies whether this
QDR is a subset of the specified
QDR . |
boolean |
isSupersetOf(HierarchicalQDR q2) |
boolean |
isSupersetOf(HierarchicalQDR q2,
Comparison comparator)
Specifies whether this
QDR is a superset of the specified
QDR . |
QDR |
makeQDR() |
void |
setDimMemberPairs(java.lang.String dimMemberPairs)
Specifies a series of dimension/hier/level-member pairs, where the members are
of type
FIXED . |
void |
setDimMemberPairs(java.lang.String[] dimensions,
HierarchicalQDRMember[] members)
Specifies an array of dimensions and an array of corresponding
HierarchicalQDRMembers to limit in this
HierarchicalQDR . |
void |
setXML(oracle.dss.util.persistence.XMLContext xmlContext,
java.lang.Object objectNode)
Sets the XML representation of the object.
|
addDimMemberPair, clear, clone, cloneMembers, cloneVector, contains, contains, containsKey, containsValue, entrySet, equals, get, getAllDependentIDs, getDependentIDs, getDimensions, getDimMember, getDims, getElementSeparator, getMeasureDim, getMembers, getPairSeparator, getQDRMeasures, getStateString, getTarget, hashCode, isDimensionSubsetOf, isFixedType, isProperSubsetOf, isProperSupersetOf, isSubsetOf, isSupersetOf, keySet, put, putAll, remove, removeDimMemberPair, replaceSeparator, setDependentIDs, setMeasureDim, setQDRMeasures, setStateString, setTarget, size, toString, values
finalize, getClass, notify, notifyAll, wait, wait, wait
clone
public static final java.lang.String XML_NAME_OLAP
protected static final java.lang.String MEASURE_DIM_NAME_PROPERTY
protected static final java.lang.String DIMENSION_PROPERTY
protected static final java.lang.String TARGET_PROPERTY
protected HierarchicalQDRMember m_target
protected HierarchicalQDRMember m_memberVaries
public HierarchicalQDR()
HierarchicalQDR
that does not specify
the Measure dimension.
When you use this constructor, the Measure dimension for this
HierarchicalQDR
is null
.
This HierarchicalQDR
will not be associated with a particular
Measure. The getMeasureDim
method will return
null
.public HierarchicalQDR(QDR qdr)
public HierarchicalQDR(HierarchicalQDR qdr)
HierarchicalQDR
.
When you use this constructor, this HierarchicalQDR
uses the
same Measure dimension as the specified HierarchicalQDR
.
This constructor clones the dimensions and the members from the
specified HierarchicalQDR
.qdr
- The HierarchicalQDR
to copy.public HierarchicalQDR(java.lang.String measureDim)
HierarchicalQDR
that specifies the
Measure dimension.measureDim
- The name of the Measure dimension.public HierarchicalQDR(java.lang.String measureDim, java.lang.String dimMemberPairs)
String
for the member-dimension/hier/level pairs.
This constructor specifies the Measure dimension and also adds
the dimension/hier/level-member pairs specified in the
dimMemberPairs
parameter.
The format of the string is: "Dimension:Member:Hierarchy:Level;Dimension:Member:Hierarchy:Level". You can specify several dimension/hier/level-member pairs.
You cannot use this constructor if any of the members need to have a type
other than FIXED
.
measureDim
- The name of the Measure dimension.dimMemberPairs
- The formatted String
that specifies
the dimensions, hierarchies, and levels to limit and
the members to limit them to.
Use colons (:) to separate a dimension, a member, a
hierarchy, and/or a level. Use semicolons (;) to
separate dimension-member/hier/level pairs.QDRMember.FIXED
protected HierarchicalQDRMember createQDRMember()
protected HierarchicalQDRMember createVariesMember()
public boolean isEmpty()
public boolean isDimensionOnlyQDR()
HierarchicalQDR
is a dimension-only
HierarchicalQDR
.
A dimension-only HierarchicalQDR
refers only to all of the members
of one dimension.
For example, this method returns true
if this
HierarchicalQDR
refers only to the Product dimension.
Such a HierarchicalQDR
has one dimension-member pair, and the member
of that pair has type VARIES
.
isDimensionOnlyQDR
in class QDR
true
if this is a dimension-only HierarchicalQDR
,
false
if this HierarchicalQDR
limits one or
more dimensions to a single member.QDRMember.VARIES
public void addDimMemberPair(java.lang.String dimension, java.lang.String member)
QDR
.
This method creates a new QDRMember
object and adds the
HierarchicalQDRMember
to this QDR
.addDimMemberPair
in interface QDRInterface
addDimMemberPair
in class QDR
dimension
- The name of the dimension that you are limiting,
such as "Geography".member
- The name of the member to which you want to limit
dimension
. When you specify a
member
, then the resulting
HierarchicalQDRMember
has type FIXED
.
If you pass null
, then the resulting
HierarchicalQDRMember
has type VARIES
.addDimMemberPair(String, HierarchicalQDRMember)
,
HierarchicalQDRMember
,
QDRMember.FIXED
,
QDRMember.VARIES
public void addDimMemberPair(java.lang.String dim, HierarchicalQDRMember member)
HierarchicalQDR
.
Adding a dimension-member pair to a HierarchicalQDR
makes the
HierarchicalQDR
more restrictive.
For example, if a HierarchicalQDR
has only one dimension-member pair,
such as one which limits Month to May, then the OlapQDR
refers
to all the data in a data source where Month is May.
If you add a second dimension-member pair, such one that limits Product
to Shoes, then
the HierarchicalQDR
refers only to data where Month is May and
Product is Shoes.
If dimension
is already limited in this HierarchicalQDR
,
then the limitation changes to the specified member
.
For example, if a HierarchicalQDR
limits Month to May, and you specify
"Month" and a HierarchicalQDRMember
that represents June, then Month
will be limited to June.
If dimension
is null, then the dimension-member pair is
ignored, and this HierarchicalQDR
is exactly as it was before the
method is executed.
If this HierarchicalQDR
refers to all of the members of a single
dimension (that is, is a dimension-only HierarchicalQDR
), and you pass
a HierarchicalQDRMember
that has any type other than VARIES
,
then this HierarchicalQDR
loses its dimension-only nature, and it
limits the specified dimension to the specified member.
dim
- The name of the dimension that you are limiting,
such as "Geography".member
- The member to which you are limiting the dimension.
If you pass null
, then this method uses a
HierarchicalQDRMember
of type VARIES
for the
member.public void addIncrementalDimMemberPair(java.lang.String dim, HierarchicalQDRMember member)
public void addDimMemberPair(java.lang.String dimension, java.lang.String member, java.lang.String hierarchy, java.lang.String level)
HierarchicalQDR
.
This method creates a new HierarchicalQDRMember
object and adds the
HierarchicalQDRMember
to this HierarchicalQDR
.dimension
- The name of the dimension that you are limiting,
such as "Geography".member
- The name of the member to which you want to limit
dimension
. When you specify a
member
, then the resulting
HierarchicalQDRMember
has type FIXED
.
If you pass null
, then the resulting
HierarchicalQDRMember
has type VARIES
.hierarchy
- The member's corresponding hierarchylevel
- The member's corresponding levelQDR.addDimMemberPair(String, QDRMember)
,
QDRMember
,
QDRMember.FIXED
,
QDRMember.VARIES
public void setDimMemberPairs(java.lang.String[] dimensions, HierarchicalQDRMember[] members)
HierarchicalQDRMembers
to limit in this
HierarchicalQDR
.dimensions
- Array of dimensions that should be restrictedmembers
- Array of members containing a
HierarchicalQDRMember
for each entry in
dimensions
.public void setDimMemberPairs(java.lang.String dimMemberPairs)
FIXED
.
This method takes a formatted String
and creates
dimension-member pairs, where the members are single members, such as
"PARIS" or "MAY2000".
Use colons (:) to separate a dimension and a member, hierarchy, level.
Use semicolons (;) to separate one dimension/hier/level-member pair from the next
dimension/hier/level-member pair.
For example, to limit three dimensions, the format of the
String
is:
Dimension:Member:Hierarchy:Level;Dimension:Member:Hierarchy:Level;Dimension:Member:Hierarchy:Level
Note that no dimension or member names can contain colons or
semicolons.
All members must be specified in the String
, not as
objects.
setDimMemberPairs
in class QDR
dimMemberPairs
- The formatted String
that specifies
the dimensions to limit and the single
members to limit them to.
If a dimension/hier/level-member pair in
dimMemberPairs
is malformed, then
this method ignores that dimension/hier/level-member pair
and begins parsing at the next semicolon.HierarchicalQDRMember
,
QDRMember.FIXED
public java.lang.String getDimMemberPairs()
HierarchicalQDR
, when
the HierarchicalQDRMembers
are of type FIXED
.
This method returns a String
that specifies all of the
dimension-member pairs in the HierarchicalQDR
.
You can use this method only if all of the members in this
HierarchicalQDR
are of type FIXED
or if this is
a dimension-only HierarchicalQDR
.
If this is a dimension-only HierarchicalQDR
, then this method returns
only the dimension name.
Semicolons separate one dimension-member pair from another, and colons separate the dimension from the member.
For example, if the HierarchicalQDR
refers to Units of TVs (in the standard hierarchy, level L3) sold in
Dublin (from the Standard hierarchy) in May (from the YTD hierarchy) by catalog, the String
will look something
like this:
"MEASURE_DIM:UNITS;PRODUCT:TVS:STANDARD:L3;GEOGRAPHY:DUBLIN:STANDARD;MONTH:MAY:YTD;CHANNEL:CATALOG"
The String
that this method returns is suitable to
pass to the setDimMemberPairs
method.
getDimMemberPairs
in class QDR
HierarchicalQDR
.
If this is a dimension-only HierarchicalQDR
, then this method
returns the dimension name.setDimMemberPairs(java.lang.String[], oracle.dss.util.HierarchicalQDRMember[])
,
addDimMemberPair(String, String)
public java.util.Vector getAsymmetricDimensions(java.lang.String dimension)
public QDR makeQDR()
protected static boolean contains(HierarchicalQDR qdr1, HierarchicalQDR qdr2, Comparison comparator)
qdr1
- the QDR.qdr2
- the QDR.comparator
- An Object implementing the Comparison interface to allow
two levels with different values to be compared for equivalence
if their hierarchies are not equaltrue
if all the dimension member pairs in qdr1 contain
the corresponding members of qdr2. false
otherwise.public boolean equals(HierarchicalQDR q2, Comparison comparator)
QDR
is equivalent to the specified
QDR
.
Two QDR
objects are equal if they both have the same
dimension-member pairs.
The dimension-member pairs do not have to be in the same order.
Dimensions that have varied members are ignored in this comparison,
unless both this QDR
and q2
are
dimension-only QDRs.
q2
- The QDR
to which you want to compare this
QDR
.true
if all the dimension-member pairs in this
QDR
are the same as the dimension member pairs
in the specified QDR
and vice versa,
false
if any dimension-member pairs differ or if
the specified QDR
is null.QDRMember.VARIES
public boolean equals(HierarchicalQDR q2)
QDR
is equivalent to the specified
QDR
.
Two QDR
objects are equal if they both have the same
dimension-member pairs.
The dimension-member pairs do not have to be in the same order.
Dimensions that have varied members are ignored in this comparison,
unless both this QDR
and q2
are
dimension-only QDRs.
q2
- The QDR
to which you want to compare this
QDR
.true
if all the dimension-member pairs in this
QDR
are the same as the dimension member pairs
in the specified QDR
and vice versa,
false
if any dimension-member pairs differ or if
the specified QDR
is null.QDRMember.VARIES
public boolean equals(QDR qdr)
QDR
QDR
is equivalent to the specified
QDR
.
Two QDR
objects are equal if they both have the same
dimension-member pairs.
The dimension-member pairs do not have to be in the same order.
Dimensions that have varied members are ignored in this comparison,
unless both this QDR
and q2
are
dimension-only QDRs.
equals
in class QDR
qdr
- The QDR
to which you want to compare this
QDR
.true
if all the dimension-member pairs in this
QDR
are the same as the dimension member pairs
in the specified QDR
and vice versa,
false
if any dimension-member pairs differ or if
the specified QDR
is null.QDRMember.VARIES
public boolean equals(java.lang.Object obj, Comparison comparator)
QDR
is equivalent to the specified
object.
Two QDR
objects are equal if they both have the same
dimension-member pairs.
The dimension-member pairs do not have to be in the same order.
Dimensions that have varied members are ignored in this comparison,
unless both this QDR
and q2
are
dimension-only QDRs.
q2
- The QDR
to which you want to compare this
QDR
.comparator
- An Object implementing the Comparison interface to allow
two levels with different values to be compared for equivalence
if their hierarchies are not equaltrue
if all the dimension-member pairs in this
QDR
are the same as the dimension member pairs
in the specified QDR
and vice versa,
false
if any dimension-member pairs differ or if
the specified QDR
is null.
Also returns false
if obj
is not
a QDR
.QDRMember.VARIES
public boolean equals(java.lang.Object obj)
QDR
QDR
is equivalent to the specified
object.
Two QDR
objects are equal if they both have the same
dimension-member pairs.
The dimension-member pairs do not have to be in the same order.
Dimensions that have varied members are ignored in this comparison,
unless both this QDR
and q2
are
dimension-only QDRs.
equals
in interface java.util.Map<java.lang.String,java.lang.Object>
equals
in interface QDRInterface
equals
in class QDR
true
if all the dimension-member pairs in this
QDR
are the same as the dimension member pairs
in the specified QDR
and vice versa,
false
if any dimension-member pairs differ or if
the specified QDR
is null.
Also returns false
if obj
is not
a QDR
.QDRMember.VARIES
public boolean isProperSupersetOf(HierarchicalQDR q2, Comparison comparator)
QDR
is a proper superset of the
specified QDR
.
A QDR
is a proper superset of another QDR
when
it refers to the all of the values of the other QDR
and to
more values. A proper superset limits fewer dimensions than
the QDR
of which it is a superset.
For example, say you have the following QDR
objects:
QdrOne.getDimMemberPairs
returns:
"MEASUREDIM:SALES;MONTH:MAY;PRODUCT:SHOES"
QdrTwo.getDimMemberPairs
returns:
"MEASUREDIM:SALES;MONTH:MAY"
QdrThree.getDimMemberPairs
returns:
"MONTH:MAY;MEASUREDIM:SALES"
QdrFour.getDimMemberPairs
returns:
"MEASUREDIM:SALES;MONTH:JUNE"
QdrTwo
is a proper superset of QdrOne
,
because it refers to all of the data values that QdrOne
refers to, and it refers to more values.
QdrOne
refers only to Shoes, but QdrTwo
refers to other products as well.
QdrThree
is a proper superset of QdrOne
,
because it is equivalent to QdrTwo
.
Note that the order of the dimension-member pairs does not matter.
QdrFour
is not a proper superset of QdrOne
,
because it refers to June, while QdrOne
refers to May.
The type of each member in the comparison is also important.
Members with type FIXED
are more restrictive than members
of type LIST
, and members of type LIST
are
more restrictive than members of type VARIES
. The following
example illustrates the effect of the member type. Suppose you have the
following members in two QDR
objects:
QdrOne
limits Product to Shoes, while the Time
dimension varies (QDRMember
is VARIES
).QdrTwo
limits only the Time dimension, and it limits
Time to January 2000, February 2000, and March 2000.QdrThree
limits only the Time dimension, and it limits
Time to February 2000.
In this example, QdrTwo
is a proper superset of
QdrThree
, and QdrOne
is a proper superset of
QdrTwo
.
If two QDR
objects are equivalent, then each is a
superset of the other, but neither QDR
is a proper superset
of the other.
comparator
- An Object implementing the Comparison interface to allow
two levels with different values to be compared for equivalence
if their hierarchies are not equalq2
- The QDR
to which you want to compare this
QDR
.true
if this QDR
refers to some, but not
all, of the data that q2
refers to,
false
if this QDR
refers to different data,
exactly the same data, or more data.isSupersetOf(oracle.dss.util.HierarchicalQDR, oracle.dss.util.Comparison)
,
QDRMember.FIXED
,
QDRMember.VARIES
,
QDRMember.LIST
,
QDRMember.getType()
public boolean isProperSupersetOf(HierarchicalQDR q2)
public boolean isProperSubsetOf(HierarchicalQDR q2, Comparison comparator)
QDR
is a proper subset of the
specified QDR
.
A QDR
is a proper subset of another QDR
when it
refers to the some, but not all, of the values of the other
QDR
.
A proper subset limits more dimensions than the QDR
of
which it is a subset.
For example, say you have the following QDR
objects:
QdrOne.getDimMemberPairs
returns:
"MEASUREDIM:SALES;MONTH:MAY"
QdrTwo.getDimMemberPairs
returns:
"PRODUCT:SOCKS;CHANNEL:DIRECT;MEASUREDIM:SALES;MONTH:MAY"
QdrTwo
is a proper subset of QdrOne
,
because it refers to a subset of the data values that QdrOne
refers to.
QdrOne
refers to all products and all channels, but
QdrTwo
refers only to socks sold by direct channel.
Both QDR
objects refer to the Sales measure and to the
month of May.
Note that the order of the dimension-member pairs does not matter.
The type of each member in the comparison is also important.
Members with type VARIES
are less restrictive than members
of type LIST
, and members of type LIST
are
less restrictive than members of type FIXED
. The following
example illustrates the effect of the member type. Suppose you have the
following members in two QDR
objects:
QdrOne
limits Product to Shoes, while the Time
dimension varies (QDRMember
is VARIES
).QdrTwo
limits only the Time dimension, and it limits
Time to January 2000, February 2000, and March 2000.QdrThree
limits only the Time dimension, and it limits
Time to February 2000.
In this example, QdrTwo
is a proper subset of
QdrOne
, and QdrThree
is a proper subset of
QdrTwo
.
If two QDR
objects are equivalent, then each is a
subset of the other, but neither QDR
is a proper subset
of the other.
q2
- The QDR
to which you want to compare this
QDR
.comparator
- An Object implementing the Comparison interface to allow
two levels with different values to be compared for equivalence
if their hierarchies are not equaltrue
if q2
refers to some, but not
all, of the data that this QDR
refers to,
false
if q2
refers to different data,
exactly the same data, or more data.isSubsetOf(oracle.dss.util.HierarchicalQDR, oracle.dss.util.Comparison)
,
QDRMember.FIXED
,
QDRMember.VARIES
,
QDRMember.LIST
,
QDRMember.getType()
public boolean isProperSubsetOf(HierarchicalQDR q2)
public boolean isSubsetOf(HierarchicalQDR q2, Comparison comparator)
QDR
is a subset of the specified
QDR
.
A subset differs from a proper subset in that a subset can be
equivalent to the other QDR
of which it is a subset.
For example, say you have the following QDR
objects:
QdrOne.getDimMemberPairs
returns:
"MEASUREDIM:SALES;MONTH:MAY"
QdrTwo.getDimMemberPairs
returns:
"MEASUREDIM:SALES;MONTH:MAY;PRODUCT:SHOES"
QdrThree.getDimMemberPairs
returns:
"PRODUCT:SOCKS;CHANNEL:DIRECT;MEASUREDIM:SALES;MONTH:MAY"
QdrFour.getDimMemberPairs
returns:
"MONTH:MAY;MEASUREDIM:SALES"
QdrTwo
, QdrThree
, and QdrFour
are all subsets of QdrOne
.
Note that the order of dimension-member pairs does not matter.
The type of each member in the comparison is also important.
Members with type VARIES
are less restrictive than members
of type LIST
, and members of type LIST
are
less restrictive than members of type FIXED
. The following
example illustrates the effect of the member type. Suppose you have the
following members in two QDR
objects:
QdrOne
limits Product to Shoes, while the Time
dimension varies (QDRMember
is VARIES
).QdrTwo
limits only the Time dimension, and it limits
Time to January 2000, February 2000, and March 2000.QdrThree
limits only the Time dimension, and it limits
Time to February 2000.
In this example, QdrTwo
is a proper subset of
QdrOne
, and QdrThree
is a proper subset of
QdrTwo
.
q2
- The QDR
to which you want to compare this
QDR
.comparator
- An Object implementing the Comparison interface to allow
two levels with different values to be compared for equivalence
if their hierarchies are not equaltrue
if q2
refers to some or
all of the data that this QDR
refers to,
false
if q2
refers to different data, or
to more data, than this QDR
refers
to.isProperSubsetOf(oracle.dss.util.HierarchicalQDR, oracle.dss.util.Comparison)
,
QDRMember.FIXED
,
QDRMember.VARIES
,
QDRMember.LIST
,
QDRMember.getType()
public boolean isSubsetOf(HierarchicalQDR q2)
public boolean isSupersetOf(HierarchicalQDR q2, Comparison comparator)
QDR
is a superset of the specified
QDR
.
A superset differs from a proper superset in that a superset can be
equivalent to the QDR
of which it is a superset.
For example, say you have the following QDR
objects:
QdrOne.getDimMemberPairs
returns:
"MEASUREDIM:SALES;MONTH:MAY;PRODUCT:SHOES"
QdrTwo.getDimMemberPairs
returns:
"MONTH:MAY"
QdrThree.getDimMemberPairs
returns:
"MONTH:MAY;MEASUREDIM:SALES"
QdrFour.getDimMemberPairs
returns:
"MEASUREDIM:SALES;PRODUCT:SHOES;MONTH:MAY"
QdrTwo
, QdrThree
, and QdrFour
are all supersets of QdrOne
.
Note that the order of the dimension-member pairs does not matter.
The type of each member in the comparison is also important.
Members with type FIXED
are more restrictive than members
of type LIST
, and members of type LIST
are
more restrictive than members of type VARIES
. The following
example illustrates the effect of the member type. Suppose you have the
following members in two QDR
objects:
QdrOne
limits Product to Shoes, while the Time
dimension varies (QDRMember
is VARIES
).QdrTwo
limits only the Time dimension, and it limits
Time to January 2000, February 2000, and March 2000.QdrThree
limits only the Time dimension, and it limits
Time to February 2000.
In this example, QdrTwo
is a proper superset of
QdrThree
, and QdrOne
is a proper superset of
QdrTwo
.
If two QDR
objects are equivalent, then each is a
superset of the other, but neither QDR
is a proper superset
of the other.
q2
- The QDR
to which you want to compare this
QDR
.comparator
- An Object implementing the Comparison interface to allow
two levels with different values to be compared for equivalence
if their hierarchies are not equaltrue
if this QDR
refers to some or
all of the data that q2
refers to,
false
if this QDR
refers to different
data, or to more data, than q2
refers to.isProperSupersetOf(oracle.dss.util.HierarchicalQDR, oracle.dss.util.Comparison)
,
QDRMember.FIXED
,
QDRMember.VARIES
,
QDRMember.LIST
,
QDRMember.getType()
public boolean isSupersetOf(HierarchicalQDR q2)
public java.lang.String getTagName()
QDR
in XML.getTagName
in interface oracle.dss.util.persistence.XMLizable
getTagName
in class QDR
QDR
.protected java.lang.String getDimMemberPairTag()
public java.lang.Object getXML(oracle.dss.util.persistence.XMLContext context)
oracle.dss.util.persistence.XMLizable
getXML
in interface oracle.dss.util.persistence.XMLizable
getXML
in class QDR
controls
- ObjectScope
public void setXML(oracle.dss.util.persistence.XMLContext xmlContext, java.lang.Object objectNode)
oracle.dss.util.persistence.XMLizable
setXML
in interface oracle.dss.util.persistence.XMLizable
setXML
in class QDR
xmlContext
- a XMLContext
which contains the control
settings that are sent by the container (caller)the
- root ObjectNode of the persistence object tree