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

com.sas.iquery.metadata.business
Interface BusinessModelObject

All Superinterfaces:
Base, BusinessModelResource, BusinessModelResourceReferencer, java.lang.Cloneable, java.util.EventListener, com.sas.iquery.metadata.business.ExtendedAttributes, ModelItem, ModelItemWithIdentity, NamedObjectInterface, PropertyChangeListenee, java.beans.PropertyChangeListener, UsabilityInterface
All Known Subinterfaces:
BusinessGroup, BusinessItem, BusinessRule, CompoundFilter, DataItem, DataItemReference, DrillThroughToDetail, FilterCascadeRule, FilterItem, Governing, Prompt

public interface BusinessModelObject
extends ModelItemWithIdentity, BusinessModelResource, BusinessModelResourceReferencer, com.sas.iquery.metadata.business.ExtendedAttributes, java.lang.Cloneable

Specifies an abstract, persistable object that is contained within a business model container and provides support for having a unique identity within that container. It also manages common attributes for objects having identities within a business model.

Having a unique identity within the container, objects of this type can be referenced between separately persistable business models. For example, FilterItem objects defined in data selections can reference DataItem objects defined in information maps (as long as the data selection has been built on information map ... that is, the information map is in the data selection's business model chain).

Besides having this object's identity being used during persistence, it's identity (certain objects only) is also used when referencing the objects within ResourceAwareStringExpression objects. That is, its possible to reference certain objects by their identity using a specific syntax within ResourceAwareStringExpression objects. See that class for details.

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).


Field Summary
 
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
 
Method Summary
 BusinessModel getBusinessModel()
          Returns the business model this object was created by.
 boolean isContainedInBusinessModel()
          Returns whether this object is contained in the business model that created it.
 boolean isIDOK()
          Checks to see if the intra-model ID set on this object is valid and unique within the business model containing it.
 boolean isReadOnly()
          Returns whether this object is read-only.
 
Methods inherited from interface com.sas.iquery.metadata.business.ModelItemWithIdentity
getID, getIdentityString, getIntraModelID, isHidden, isUnresolved, setDescription, setIntraModelID, setIsHidden, setLabel
 
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
 

Method Detail

getBusinessModel

BusinessModel getBusinessModel()
Returns the business model this object was created by. The business model returned need not *contain* this object in its lists of objects it manages (for example, data sources, business rules, business items) -- as this object may have never been added or may have been removed from the business model's lists. One must call methods on the business model or a list managed by the business model to determine if this object is contained within the business model.

Returns:
the business model this object was created by (never null)

isContainedInBusinessModel

boolean isContainedInBusinessModel()
Returns whether this object is contained in the business model that created it. The BusinessModel.contains(BusinessModelObject) method is used to determine this.

Returns:
a boolean value indicating whether this object is contained within the business model that created it.

isIDOK

boolean isIDOK()
Checks to see if the intra-model ID set on this object is valid and unique within the business model containing it. Typical reasons why the intra-model ID is not good is because it is null or it conflicts with another intra-model ID on a business model object contained in the same business model.

Returns:
a boolean value indicating if the id set on this object is valid

isReadOnly

boolean isReadOnly()
Returns whether this object is read-only. If a object is read-only, calling setter methods or any other methods that result in changes to this object results in a MetadataNotChangeableException. This object is read-only when its contained business model is read-only -- which can occur when it is read in from storage when it is required as part of a chain of business models. For example, when BusinessModelB (for example, a report) is read in but it requires BusinessModelA as its base model, BusinessModelA must be read in first ... and when it is it is marked read-only.

Returns:
true if this object is read-only, false otherwise

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




Copyright © 2009 SAS Institute Inc. All Rights Reserved.