***  This interface is subject to change.  ***

com.sas.iquery.metadata.business
Interface DataItemReference

All Superinterfaces:
com.sas.iquery.metadata.business.AssociationItem, Base, BusinessItem, BusinessModelObject, BusinessModelResource, BusinessModelResourceReferencer, java.lang.Cloneable, DataItem, DataItemContainerExpression, java.util.EventListener, ExpressionInterface, com.sas.iquery.metadata.business.ExtendedAttributes, LocalizableModelObject, LocalizableNamedObjectInterface, com.sas.util.LocalizableToStringInterface, ModelItem, ModelItemWithIdentity, NamedObjectInterface, PropertyChangeListenee, java.beans.PropertyChangeListener, UsabilityInterface

public interface DataItemReference
extends DataItem

Specifies a reference to a DataItem object along with some set of overridden attributes of the base data item. The base data item which can be a custom data item or another DataItemReference. Objects of this class allow for overriding the functionality of certain attributes of data items and is useful when creating queries that need tweaks to the data items.

For each data item attribute that is available to be overriden by an object of this type, two methods exist in this interface two manage the overridden attribute -- one for testing to see if its been overridden in this object and one to reset the override thereby causing further calls to the associated getter method to return the base data item's attribute value. And, as expected, the getter & setter methods provided by the DataItem interface should be used for getting & setting an overridable attribute.

In general, most attributes of a data item are overridable. The main attribute that is not overidable is a data item's expression -- it's core definition.

Unless otherwise noted, all getter/setter method pairs do not copy their outputs or inputs, respectively. That is, if one calls the setter method and immediately calls the getter method for that same attribute, the object that was just given on the setter method will be returned by the getter. The only general exception to this rule, which is not documented further on the getter/setter methods, is when the output or input is a List, in which case the List is copied but the contents of the list are not copied. (A shallow copy of the List is made in both the setter and getter methods).

See the javadoc in the DataItem class for further differences between DataItem and DataItemReference.


Field Summary
 
Fields inherited from interface com.sas.iquery.metadata.business.DataItem
DEFAULT_MEMBER_LEVEL_NAME, EVENT_DATA_ITEM_AGGREGATION_TYPE_CHANGED, EVENT_DATA_ITEM_AGGREGATION_TYPES_SUPPORTED_CHANGED, EVENT_DATA_ITEM_EXPRESSION_CHANGED, EVENT_DATA_ITEM_EXTENDED_TYPE_CHANGED, EVENT_DATA_ITEM_FORMAT_CHANGED, EVENT_DATA_ITEM_GROUP_FORMATTING_CHANGED, EVENT_DATA_ITEM_MEMBER_PROPERTIES_CHANGED, EVENT_DATA_ITEM_SORT_CRITERIA_CHANGED, EVENT_DATA_ITEM_SORT_DIRECTION_CHANGED, EVENT_DATA_ITEM_SORT_FORMATTING_CHANGED, EVENT_DATA_ITEM_STARTING_LEVEL_CHANGED, EVENT_DATA_ITEM_STARTING_LEVEL_NAME_CHANGED, EVENT_DATA_ITEM_STEPS_CHANGED, EVENT_DATA_ITEM_SUPPORTED_ACTIONS_CHANGED, EVENT_DATA_ITEM_USAGE_CHANGED, EVENT_DATA_LOOKUP_TYPE_CHANGED, EVENT_FORMATTING_FORCED_CHANGED, EVENT_RESULT_SET_ID_CHANGED
 
Fields inherited from interface com.sas.iquery.metadata.business.ModelItemWithIdentity
EVENT_DESCRIPTION_CHANGED, EVENT_HIDDEN_CHANGED, EVENT_ID_CHANGED, EVENT_LABEL_CHANGED
 
Fields inherited from interface com.sas.iquery.metadata.business.ModelItem
EVENT_OBJECT_PROPERTY_CHANGED
 
Fields inherited from interface com.sas.iquery.metadata.business.Base
EVENT_OBJECT_DEFINITION_CHANGED
 
Fields inherited from interface com.sas.iquery.metadata.business.LocalizableModelObject
EVENT_LOCALIZABLE_DESCRIPTIONS_CHANGED, EVENT_LOCALIZABLE_LABELS_CHANGED
 
Method Summary
 DataItem getBaseDataItem()
          Returns the data item that this object is based upon or null if this object is unresolved.
 boolean isAggregationTypeModified()
           
 boolean isDescriptionModified()
          Returns whether the Description has been modified in this object
 boolean isDescriptionsModified()
          Returns whether the localized Description has been modified in this object
 boolean isEquivalentToParent()
          Returns the "is equivalent to parent" attribute for this object.
 boolean isExtendedAttributesModified()
          Returns true if this object's extended attributes will be returned on getExtendedAttriubtes().
 boolean isFormatModified()
          Returns whether the format has been modified.
 boolean isGroupFormattingModified()
          returns true if the formatting action type for grouping has been overridden in this data item reference
 boolean isLabelModified()
          Returns whether the label has been modified in this object
 boolean isLabelsModified()
          Returns whether the localized label has been modified in this object
 boolean isLookupTypeModified()
          Returns whether the Lookup has been modified in this object
 boolean isMemberPropertiesModified()
          Returns true if this object's Member properties will be returned on getMemberProperties().
 boolean isSortCriteriaModified()
          Returns whether the sort criteria has been modified in this object.
 boolean isSortDirectionModified()
          Returns whether the sort direction has been modified in this object
 boolean isSortFormattingModified()
          returns true if the formatting action type for sorting has been overridden in this data item reference
 boolean isStartingLevelModified()
          Deprecated.  
 boolean isStartingLevelNameModified()
          Returns true if this object's starting Level Name will be returned on getStartingLevelName().
 boolean isUsageModified()
          Returns whether the usage has been modified in this object.
 void resetAggregationType()
          Resets the value of the Aggregation type attribute The parent dataitems's AggregationType will be used.
 void resetDescription()
          Resets the value of the Description attribute The parent dataitems's Description will be used.
 void resetDescriptions()
          Resets the value of the localized Description attributes The parent dataitems's localized Description will be used.
 void resetExtendedAttributes()
          Resets the value of the extended attributes The parent dataitems' extended attriubtes will be used.
 void resetFormat()
          Resets the value of the format attribute The parent dataitems's format will be used.
 void resetGroupFormatting()
          clears any formatting action type for grouping set on this data item reference or if it is a data item it will remove the value entirely
 void resetLabel()
          Resets the value of the label attribute The parent dataitems's label will be used.
 void resetLabels()
          Resets the value of the localized label attributes The parent dataitems's label will be used.
 void resetLookupType()
          Resets the value of the LookupType attribute The parent dataitems's LookupType will be used.
 void resetMemberProperties()
          Resets the value of Member properties set on this object.
 void resetSortCriteria()
          Resets the value of the sort criteria attribute The parent dataitems's sort criteria will be used.
 void resetSortDirection()
          Resets the value of the sort direction attribute The parent dataitems's sort direction will be used.
 void resetSortFormatting()
          clears any formatting action type for sorting set on this data item reference or if it is a data item it will remove the value entirely
 void resetStartingLevel()
          Deprecated.  
 void resetStartingLevelName()
          Resets the value of the starting Level Name set on this object.
 void resetUsage()
          Resets the value of the usage attribute The parent dataitems's usage will be used.
 void setIsEquivalentToParent(boolean equiv)
          Sets the "is equivalent to parent" attribute for this object.
 
Methods inherited from interface com.sas.iquery.metadata.business.DataItem
addStep, getAggregationType, getExpression, getFormat, getGroupFormatting, getLookupType, getMemberProperties, getReasonsLabelNotValid, getResultSetID, getSortCriteria, getSortDirection, getSortFormatting, getStartingLevel, getStartingLevelName, getStep, getSteps, getSteps, getStructure, getSupportedActionsList, getSupportedAggregationTypesList, getUsage, getValidActions, getValidAggregationTypes, hasSteps, isActionSupported, isAggregationTypeSupported, isCalculatedItem, isValidFormat, removeStep, setActionSupported, setAggregationType, setAggregationTypeSupported, setExpression, setFormat, setGroupFormatting, setLabel, setLookupType, setMemberProperties, setResultSetID, setSortCriteria, setSortDirection, setSortFormatting, setStartingLevel, setStartingLevelName, setSteps, setUsage
 
Methods inherited from interface com.sas.iquery.metadata.expr.DataItemContainerExpression
containsUserTypedAggregation, getLeafDataItems
 
Methods inherited from interface com.sas.iquery.metadata.expr.ExpressionInterface
getExpressionType
 
Methods inherited from interface com.sas.iquery.metadata.business.BusinessModelObject
getBusinessModel, isContainedInBusinessModel, isIDOK, isReadOnly
 
Methods inherited from interface com.sas.iquery.metadata.business.ModelItemWithIdentity
getID, getIdentityString, getIntraModelID, isHidden, isUnresolved, setDescription, setIntraModelID, setIsHidden
 
Methods inherited from interface com.sas.iquery.metadata.PropertyChangeListenee
addListener, getListeners, removeListener
 
Methods inherited from interface com.sas.iquery.metadata.business.UsabilityInterface
getReasonsUnusable, isUsableInQuery
 
Methods inherited from interface com.sas.iquery.metadata.business.BusinessModelResource
isUnresolved
 
Methods inherited from interface com.sas.iquery.metadata.NamedObjectInterface
getDescription, getLabel
 
Methods inherited from interface com.sas.iquery.metadata.business.BusinessModelResourceReferencer
getResources
 
Methods inherited from interface com.sas.iquery.metadata.business.LocalizableModelObject
getLocalizableProperties, getLocalizationPrependKey, setDescription, setDescriptions, setLabel, setLabels, setLocalizableProperties
 
Methods inherited from interface com.sas.iquery.metadata.LocalizableNamedObjectInterface
getDescription, getDescriptions, getLabel, getLabels
 

Method Detail

***  This method is subject to change.  ***

getBaseDataItem

DataItem getBaseDataItem()
Returns the data item that this object is based upon or null if this object is unresolved.

Returns:
the base data item or null if this object is unresolved.

***  This method is subject to change.  ***

isEquivalentToParent

boolean isEquivalentToParent()
Returns the "is equivalent to parent" attribute for this object.

The value of this attribute is used in only a few select cases within the business model and is not a general "equivalence" feature between data item references and their parents. This attribute is currently only used in the following scenarios:

Newly created DataItemReference objects default to have this attributes set to "true". It is legal for multiple DataItemReference objects to be created based off the same data item object and to have this "equivalence" attribute set. Algorithms that consume this attribute will consider those objects to be equivalent to one another.


***  This method is subject to change.  ***

setIsEquivalentToParent

void setIsEquivalentToParent(boolean equiv)
Sets the "is equivalent to parent" attribute for this object.

The value of this attribute is used in only a few select cases within the business model and is not a general "equivalence" feature between data item references and their parents.

See the isEquivalentToParent() method for scenarios of when this attribute is used.


***  This method is subject to change.  ***

resetLabel

void resetLabel()
                throws MetadataException
Resets the value of the label attribute The parent dataitems's label will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isLabelModified

boolean isLabelModified()
Returns whether the label has been modified in this object

Returns:
whether the label has been modified in this object If true, this object's label will be returned on getLabel() If false, the parent data item's label will be returned on getLabel()

***  This method is subject to change.  ***

resetDescription

void resetDescription()
                      throws MetadataException
Resets the value of the Description attribute The parent dataitems's Description will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isDescriptionModified

boolean isDescriptionModified()
Returns whether the Description has been modified in this object

Returns:
whether the Description has been modified in this object If true, this object's Description will be returned on getDescription() If false, the parent data item's Description will be returned on getDescription()

***  This method is subject to change.  ***

resetFormat

void resetFormat()
                 throws MetadataException
Resets the value of the format attribute The parent dataitems's format will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isFormatModified

boolean isFormatModified()
Returns whether the format has been modified.

Returns:
whether the format has been modified. If true, this object's format will be returned on getFormat(). If false, the parent data item's format will be returned on getFormat().

***  This method is subject to change.  ***

resetLookupType

void resetLookupType()
                     throws MetadataException
Resets the value of the LookupType attribute The parent dataitems's LookupType will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isLookupTypeModified

boolean isLookupTypeModified()
Returns whether the Lookup has been modified in this object

Returns:
whether the Lookup has been modified in this object If true, this object's Lookup will be returned on getLookupType() If false, the parent data item's Lookup will be returned on getLookupType()

***  This method is subject to change.  ***

resetAggregationType

void resetAggregationType()
                          throws MetadataException
Resets the value of the Aggregation type attribute The parent dataitems's AggregationType will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isAggregationTypeModified

boolean isAggregationTypeModified()
Returns:
whether the AggregationType has been modified in this object If true, this object's AggregationType will be returned on getAggregationType() If false, the parent data item's AggregationType will be returned on getAggregationType()

***  This method is subject to change.  ***

resetSortDirection

void resetSortDirection()
                        throws MetadataException
Resets the value of the sort direction attribute The parent dataitems's sort direction will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isSortDirectionModified

boolean isSortDirectionModified()
Returns whether the sort direction has been modified in this object

Returns:
whether the sort direction has been modified in this object If true, this object's sort direction will be returned on getSortDirection() If false, the parent data item's sort direction will be returned on getSortDirection()

***  This method is subject to change.  ***

resetUsage

void resetUsage()
                throws MetadataException
Resets the value of the usage attribute The parent dataitems's usage will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isUsageModified

boolean isUsageModified()
Returns whether the usage has been modified in this object.

Returns:
whether the usage has been modified in this object If true, this object's usage will be returned on getUsage() If false, the parent data item's usage will be returned on getUsage()

***  This method is subject to change.  ***

resetSortCriteria

void resetSortCriteria()
                       throws MetadataException
Resets the value of the sort criteria attribute The parent dataitems's sort criteria will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isSortCriteriaModified

boolean isSortCriteriaModified()
Returns whether the sort criteria has been modified in this object.

Returns:
whether the sort criteria has been modified in this object If true, this object's sort criteria will be returned on getSortCriteria() If false, the parent data item's sort criteria will be returned on getSortCriteria()

***  This method is subject to change.  ***

resetExtendedAttributes

void resetExtendedAttributes()
                             throws MetadataException
Resets the value of the extended attributes The parent dataitems' extended attriubtes will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isExtendedAttributesModified

boolean isExtendedAttributesModified()
Returns true if this object's extended attributes will be returned on getExtendedAttriubtes(). False if the parent data item's extended attributes will be returned.

Returns:
whether the extended attributes have been modified.

***  This method is subject to change.  ***

isMemberPropertiesModified

boolean isMemberPropertiesModified()
Returns true if this object's Member properties will be returned on getMemberProperties(). False if the parent data item's Member properties will be returned.

Returns:
whether the Member properties have been modified.

***  This method is subject to change.  ***

resetMemberProperties

void resetMemberProperties()
                           throws MetadataException
Resets the value of Member properties set on this object. The parent dataitems' Member properties will be used.

Throws:
MetadataException - if this operation could not be performed
See Also:
DataItem.setMemberProperties(java.util.List)

***  This method is subject to change.  ***

isStartingLevelModified

boolean isStartingLevelModified()
Deprecated. 

Returns true if this object's starting Level will be returned on getStartingLevel(). False if the parent data item's starting Level will be returned.

Returns:
whether the starting Level has been modified.

***  This method is subject to change.  ***

isStartingLevelNameModified

boolean isStartingLevelNameModified()
Returns true if this object's starting Level Name will be returned on getStartingLevelName(). False if the parent data item's starting Level will be returned.

Returns:
whether the starting Level Name has been modified.

***  This method is subject to change.  ***

resetStartingLevel

void resetStartingLevel()
                        throws MetadataException
Deprecated. 

Resets the value of the starting Level set on this object. The parent dataitems' starting Level will be used.

Throws:
MetadataException - if this operation could not be performed
See Also:
DataItem.setStartingLevel(com.sas.iquery.metadata.physical.Level)

***  This method is subject to change.  ***

resetStartingLevelName

void resetStartingLevelName()
                            throws MetadataException
Resets the value of the starting Level Name set on this object. The parent dataitems' starting Level Name will be used.

Throws:
MetadataException - if this operation could not be performed
See Also:
DataItem.setStartingLevel(com.sas.iquery.metadata.physical.Level)

***  This method is subject to change.  ***

resetLabels

void resetLabels()
                 throws MetadataException
Resets the value of the localized label attributes The parent dataitems's label will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isLabelsModified

boolean isLabelsModified()
Returns whether the localized label has been modified in this object

Returns:
whether thelocalized label has been modified in this object If true, this object's localized label will be returned on getLabels() If false, the parent data item's localized label will be returned on getLabels()

***  This method is subject to change.  ***

resetDescriptions

void resetDescriptions()
                       throws MetadataException
Resets the value of the localized Description attributes The parent dataitems's localized Description will be used.

Throws:
MetadataException

***  This method is subject to change.  ***

isDescriptionsModified

boolean isDescriptionsModified()
Returns whether the localized Description has been modified in this object

Returns:
whether the localized Description has been modified in this object If true, this object's localized Description will be returned on getDescriptions() If false, the parent data item's localized Description will be returned on getDescriptions()

***  This method is subject to change.  ***

isGroupFormattingModified

boolean isGroupFormattingModified()
returns true if the formatting action type for grouping has been overridden in this data item reference

Parameters:
dataItemReference -
Returns:

***  This method is subject to change.  ***

resetGroupFormatting

void resetGroupFormatting()
                          throws MetadataException
clears any formatting action type for grouping set on this data item reference or if it is a data item it will remove the value entirely

Parameters:
dataItem -
Throws:
MetadataException

***  This method is subject to change.  ***

isSortFormattingModified

boolean isSortFormattingModified()
returns true if the formatting action type for sorting has been overridden in this data item reference

Parameters:
dataItemReference -
Returns:

***  This method is subject to change.  ***

resetSortFormatting

void resetSortFormatting()
                         throws MetadataException
clears any formatting action type for sorting set on this data item reference or if it is a data item it will remove the value entirely

Parameters:
dataItem -
Throws:
MetadataException

***  This interface is subject to change.  ***




Copyright © 2009 SAS Institute Inc. All Rights Reserved.