com.sas.entities
Class Entity

com.sas.entities.Entity
All Implemented Interfaces:
BaseEntityInterface, BaseEntityValueInterface, EntityInterface, EntityKeyInterface, RemoteBaseEntityInterface, RemoteBaseEntityValueInterface, RemoteEntityInterface, com.sas.RemoteObjectInterface, java.lang.Cloneable, java.rmi.Remote

public class Entity
implements EntityInterface, java.lang.Cloneable

Entity, as described by EntityInterface, is a Java component which can have a dynamic or changing set of attributes, as opposed to the fixed set of properties of a Java Bean. Similar to an EJB Entity Bean, an Entity contains data that is probably persisted as a record in a data table/database. Examples of entities in an eCommerce domain would be a User, a Customer, a MailAddress, an Agent, a PurchaseOrder, a PurchaseOrderItem, etc.

Attributes and AttributeDescriptors

An attribute can be thought of as a name/value pair where name corresponds to the attribute's name and value is the attribute's value. The name/value pairs are stored internally in a map within the Entity. They should not be accessed directly. A getAttribute call should be made in order to obtain the value of an attribute.

Attributes are classified as either type-based(static) or instance-based(dynamic). Type-based attributes are those that are defined by Java Beans and the java.beans.Introspector and java.beans.BeanInfo associated with the Entity class. Instance-based attributes are those that are not defined by Java Beans.

An AttributeDescriptor can be thought of as metadata that describes an attribute (.ie a description of the attribute, a locale-sensitive label, etc.). AttributeDescriptors are described by AttributeDescriptorInterface. AttributeDescriptors are grouped together in an instance of AttributeGroupInterface

Creation of AttributeDescriptors

Upon instantiation of an Entity, an AttributeGroup is created. There is only one root AttributeGroup associated with an Entity. This "root" AttributeGroup cannot be removed from the Entity. AttributeDescriptors are created for all type-based attributes (by the Entity) and are added to the AttributeGroup. Instance-based attributes can have AttributeDescriptors created in one of two ways:

  • AttributeDescriptor is created by the Entity when a setAttribute occurs.
  • AttributeDescriptor is created by a previous application and was simply added to the Entity's AttributeGroup by the application:
     
              AttributeDescriptor adReportName = new AttributeDescriptor("report name");
              entity.getAttributeGroup().addAttributeDescriptor(adReportName, com.sas.entities.AttributeGroup.LAST_POSITION);
     

    AttributeTypes

    AttributeTypes are used to define properties that are common to AttributeDescriptors of that type. In addition to defining properties, AttributeTypes constrain the data types that are acceptable values for an AttributeDescriptor. As an example, an "int" AttributeType limits values to those that can be used to create the java primitive type of int.

    AttributeTypes for type-based attributes are created when the AttributeDescriptor is created. The correct AttributeType is derived by using the java.beans.PropertyDescriptor associated with the attribute. Instance-based attributes can have AttributeTypes created in one of two ways:

  • AttributeType is created by the Entity when a setAttribute occurs. The value is used to derive the correct AttributeType:
           setAttribute("intAttribute", new Integer(5))
     

    An AttributeType with sql type of Types.INTEGER would be created for the AttributeDescriptor associated with the attribute, "intAttribute".

  • AttributeType is created by a previous application:
     
              AttributeDescriptor adReportName = new AttributeDescriptor("report name");
              adReportName.setType(AttributeTypeFactory.STRING_ATTRIBUTE_TYPE);
     
    AttributeTypeFactory contains constants for creating common AttributeTypes.

    Attribute Values and Numeric AttributeTypes

    So as to exhibit similar behavior between type-based and instance-based attributes, AttributeTypes associated with sql types of Types.INTEGER, Types.DOUBLE, Types.FLOAT, Types.BIGINT, Types.SMALLINT, Types.TINYINT, or Types.BOOLEAN will not return a null value for getAttribute. The AttributeTypes associated with these sql types attempt to simulate their corresponding primitives which do not allow null values. If no value has been set through either a setAttribute call or a default value has not been set on the corresponding AttributeDescriptor, false will be returned for a sql type of Types.BOOLEAN and 0 will be returned for the others listed above.

    Specifying Multiple Values For an Attribute

    For attributes whose AttributeType is non-boolean (Types.BOOLEAN), users can simply pass a java.util.List as a parameter to the setAttribute method. Use of a java.util.List for receiving/sending multiple values would continue to allow the sql type to be used to identify the values stored in the java.util.List (AttributeType does not have to be changed to have a sql type of Types.ARRAY).

    See Also:
    AttributeGroupInterface, AttributeTypeFactory, AttributeTypeInterface, RemoteEntity

    Field Summary
    protected  java.util.Map dynamicSupplementalProperties
              Map of supplemental properties for dynamic (instance-based properties).
    static java.lang.String RB_KEY
               
     
    Constructor Summary
    Entity()
              Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key.
    Entity(AttributeTypeFactoryInterface atfi)
              Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key.
    Entity(java.util.Map supplementalAttributeProperties)
              Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key.
    Entity(java.util.Map supplementalAttributeProperties, AttributeTypeFactoryInterface atfi)
              Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key.
     
    Method Summary
     void addAttributeValidator(java.lang.String attributeName, java.beans.VetoableChangeListener listener)
              Convenience method for calling addVetoableChangeListener(String propertyName, VetoableChangeListener listener).
     void addVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener listener)
              Add a VetoableChangeListener for the attribute.
     void clear()
              Clear ("unset") all attribute values.
     void clearAttribute(java.lang.String attributeName)
              Clear ("unset") an individual attribute.
     boolean equals(Entity p)
              Returns a boolean indicating whether the Entities are "equal".
     boolean equals(java.lang.Object o)
              Returns a boolean indicating whether the Entities are "equal".
     void fireVetoableChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
              Report a bound property update to any registered listeners.
     java.lang.Object getAttribute(java.lang.String attributeName)
              Get an attribute value from the Entity.
     AttributeDescriptorInterface getAttributeDescriptor(java.lang.String attributeName)
              Returns an AttributeDescriptor
     AttributeDescriptorInterface[] getAttributeDescriptors()
              Returns an array of AttributeDescriptors
     AttributeGroupInterface getAttributeGroup()
              Return a list of attributes and their descriptions.
     AttributeTypeInterface getAttributeType(java.lang.String attributeName)
              Returns the type of an attribute.
     java.util.Map getAttributeValidators()
              Return a map of attribute validators.
     AttributeDescriptorInterface[] getBooleanSpecifiedAttributeDescriptors(java.util.Map map)
              Returns an array of AttributeDescriptors that meet specified boolean attribute criteria.
     java.lang.String getCustomizer(java.lang.String contextNotYetImplementedThusIGNORED)
              Return this object's customizer.
     java.util.List getCustomizerContexts()
              Not currently implemented
     RemoteEntityInterface getPrototype()
              Get the prototype object from which the Entity inherits dynamic attributes from.
     java.lang.String getStringAttribute(java.lang.String attributeName, java.lang.String defaultValue)
              Get a string value of an attribute from the Entity.
     boolean isAllRequiredAttributesAssigned()
              Returns true if all attributes, designated as required, have had a value assigned or the attribute has a default value.
     boolean isAttributeAssigned(java.lang.String attributeName)
              Returns true if an attribute has had a value assigned or the attribute has a default value.
     java.util.List listAllRequiredAttributesNotAssigned()
              Returns a list of AttributeDescriptor names where the AttributeDescriptor has been designated as required, but has not had a value assigned (a value has not been set through the setAttribute method and the AttributeDescriptor does not have a default value assigned).
     java.lang.String[] listAttributeNames(boolean includeDynamicAttributes, boolean includeStaticAttributes)
              Return an array of the AttributeDescriptor names.
     void removeAllAttributes()
              Remove all attributes from the Entity.
     void removeAttribute(java.lang.String attributeName)
              Remove an attribute from the Entity if the attribute is an instance-based attribute.
     void removeAttributeValidator(java.lang.String attributeName, java.beans.VetoableChangeListener listener)
              Convenience method for calling removeVetoableChangeListener(String propertyName, VetoableChangeListener listener).
     void removeVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener listener)
              Remove a VetoableChangeListener for the attribute.
     void setCustomizer(java.lang.String contextNotYetImplementedThusIGNORED, java.lang.String customizer)
              Set the customizer for a specific context.
     void setDynamicSupplementalPropertiesDefaultMap(java.util.Map dynamicSupplementalProperties)
              Sets the properties defined in the input map, dynamicSupplementalProperties, on all AttributeDescriptors associated with dynamic (instanced-based) attributes.
     void setEntityKey(java.lang.String guid)
              Assign this entity's key or GUID (Globally Unique Identifier).
     void setPrototype(RemoteEntityInterface prototype)
              Set the prototype object from which the Entity inherits dynamic attributes from.
     
    Methods inherited from class com.sas.entities.BaseEntity
    clone, containsAttributeNamed, equals, getAttribute, getAttributeCount, getAttributes, getEntityKey, getPropertyDescriptors, listAttributeNames, reset, sameEntity, setAttribute, setAttributes, toString
     
    Methods inherited from interface com.sas.entities.RemoteEntityInterface
    getEntityKey, sameEntity
     
    Methods inherited from interface com.sas.entities.RemoteBaseEntityInterface
    containsAttributeNamed, getAttribute, getAttributes, listAttributeNames, setAttributes
     
    Methods inherited from interface com.sas.entities.RemoteBaseEntityValueInterface
    setAttribute
     

    Field Detail

    RB_KEY

    public static final java.lang.String RB_KEY
    See Also:
    Constant Field Values

    dynamicSupplementalProperties

    protected java.util.Map dynamicSupplementalProperties
    Map of supplemental properties for dynamic (instance-based properties). A supplemental property is a user-defined property that does not currently exist for the AttributeDescriptor.

    Constructor Detail

    Entity

    public Entity()
    Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key. Creates an AttributeGroup and sets the property parameter for all AttributeDescriptors associated with static (type-based) attributes to true.


    Entity

    public Entity(java.util.Map supplementalAttributeProperties)
    Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key. Creates an AttributeGroup and sets the property parameter for all AttributeDescriptors associated with static (type-based) attributes to true. Sets the properties defined in the input map, supplementalAttributeProperties, on all AttributeDescriptors associated with static (type-based) attributes.

    Parameters:
    supplementalAttributeProperties - name/value pairs of supplemental properties

    Entity

    public Entity(AttributeTypeFactoryInterface atfi)
    Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key. Creates an AttributeGroup and sets the property parameter for all AttributeDescriptors associated with static (type-based) attributes to true. Uses the input AttributeTypeFactory, atfi, for creating AttributeTypes for the AttributeDescriptors.

    Parameters:
    atfi - instance of AttributeTypeFactoryInterface

    Entity

    public Entity(java.util.Map supplementalAttributeProperties,
                  AttributeTypeFactoryInterface atfi)
    Constructs an instance of Entity with a unique GUID (Globally Unique Identifier) or entity key. Creates an AttributeGroup and sets the property parameter for all AttributeDescriptors associated with static (type-based) attributes to true. Sets the properties defined in the input map, supplementalAttributeProperties, on all AttributeDescriptors associated with static (type-based) attributes. Uses the input AttributeTypeFactory, atfi, for creating AttributeTypes for the AttributeDescriptors.

    Parameters:
    supplementalAttributeProperties - name/value pairs of supplemental properties
    atfi - instance of AttributeTypeFactoryInterface
    Method Detail

    setEntityKey

    public void setEntityKey(java.lang.String guid)
    Assign this entity's key or GUID (Globally Unique Identifier).

    Specified by:
    setEntityKey in interface EntityKeyInterface
    Specified by:
    setEntityKey in interface RemoteEntityInterface
    Overrides:
    setEntityKey in class BaseEntity
    Parameters:
    guid - a unique entity key also known as a globally unique identifer (GUID)
    Throws:
    java.lang.IllegalStateException - subclasses may throw an IllegalStateException if this Entity already has a GUID although this base class method does not
    See Also:
    BaseEntity.getEntityKey()

    equals

    public boolean equals(Entity p)
    Returns a boolean indicating whether the Entities are "equal". The Entities are considered equal if they have the same number of attributes and all of the attribute values are the same.

    Parameters:
    p - the Entity to compare
    Returns:
    true if the Entities have the same attributes, false otherwise

    equals

    public boolean equals(java.lang.Object o)
    Returns a boolean indicating whether the Entities are "equal". The Entities are considered equal if the input parameter is an instance of Entity, they have the same number of attributes, and all of the attribute values are the same.

    Overrides:
    equals in class BaseEntity
    Parameters:
    o - the object to compare
    Returns:
    true if the Entities have the same attributes, false otherwise

    getCustomizer

    public java.lang.String getCustomizer(java.lang.String contextNotYetImplementedThusIGNORED)
    Description copied from interface: RemoteEntityInterface
    Return this object's customizer. A customizer is a standalone editor used to customize or edit a value. It does not reside inside a UI (User Interface) element as an editor does, but defines its own window. If none exists on the Entity, the customizer of the AttributeType is returned. The context indicates how you would like the editor expressed, in the same form as the validator context.

    Specified by:
    getCustomizer in interface RemoteEntityInterface
    Parameters:
    contextNotYetImplementedThusIGNORED - the context, such as a Java, COM, or WEB context
    Returns:
    Entity customizer
    See Also:
    EntityContextInterface

    setCustomizer

    public void setCustomizer(java.lang.String contextNotYetImplementedThusIGNORED,
                              java.lang.String customizer)
    Description copied from interface: RemoteEntityInterface
    Set the customizer for a specific context.

    Specified by:
    setCustomizer in interface RemoteEntityInterface
    Parameters:
    contextNotYetImplementedThusIGNORED - the context, such as a Java, COM, or WEB context
    customizer - the name of the customizer
    See Also:
    EntityContextInterface

    getCustomizerContexts

    public java.util.List getCustomizerContexts()
    Not currently implemented

    Specified by:
    getCustomizerContexts in interface RemoteEntityInterface
    Returns:
    list of contexts

    addAttributeValidator

    public void addAttributeValidator(java.lang.String attributeName,
                                      java.beans.VetoableChangeListener listener)
    Convenience method for calling addVetoableChangeListener(String propertyName, VetoableChangeListener listener).

    Specified by:
    addAttributeValidator in interface RemoteEntityInterface
    Parameters:
    attributeName - name of the attribute
    listener - object that implements VetoableChangeListener

    removeAttributeValidator

    public void removeAttributeValidator(java.lang.String attributeName,
                                         java.beans.VetoableChangeListener listener)
    Convenience method for calling removeVetoableChangeListener(String propertyName, VetoableChangeListener listener).

    Specified by:
    removeAttributeValidator in interface RemoteEntityInterface
    See Also:
    RemoteEntityInterface.addAttributeValidator(String, VetoableChangeListener)

    getAttributeValidators

    public java.util.Map getAttributeValidators()
    Return a map of attribute validators. The map keys are attribute names. The map values are either a single VetoableChangeListener or a List of VetoableChangeListener listeners.

    Specified by:
    getAttributeValidators in interface RemoteEntityInterface
    Returns:
    attribute validators

    getAttributeGroup

    public AttributeGroupInterface getAttributeGroup()
    Description copied from interface: RemoteEntityInterface
    Return a list of attributes and their descriptions.

    Specified by:
    getAttributeGroup in interface RemoteEntityInterface
    Returns:
    an AttributeGroupInterface from which you can access each attribute by name or get them all as an array. AttributeGroupInterface provides a structured, hierarchical grouping of an Entity's attributes.

    getPrototype

    public RemoteEntityInterface getPrototype()
    Description copied from interface: RemoteEntityInterface
    Get the prototype object from which the Entity inherits dynamic attributes from. Any attribute requests made to this object which do not exist on the Entity are delegated to the prototype.

    Specified by:
    getPrototype in interface RemoteEntityInterface
    Returns:
    prototype object

    setPrototype

    public void setPrototype(RemoteEntityInterface prototype)
    Description copied from interface: RemoteEntityInterface
    Set the prototype object from which the Entity inherits dynamic attributes from. If a prototype already exists, it is discarded. The new prototype may be null.

    Specified by:
    setPrototype in interface RemoteEntityInterface
    Parameters:
    prototype - object from which the Entity inherits dynamic attributes from

    getAttributeType

    public AttributeTypeInterface getAttributeType(java.lang.String attributeName)
    Description copied from interface: RemoteEntityInterface
    Returns the type of an attribute.

    Specified by:
    getAttributeType in interface RemoteEntityInterface
    Parameters:
    attributeName - attribute name
    Returns:
    type information for an attribute
    See Also:
    AttributeTypeInterface

    getStringAttribute

    public java.lang.String getStringAttribute(java.lang.String attributeName,
                                               java.lang.String defaultValue)
    Description copied from interface: BaseEntityInterface
    Get a string value of an attribute from the Entity. This method is an alias for BaseEntityValueInterface.getAttribute(String).

    Specified by:
    getStringAttribute in interface BaseEntityInterface
    Specified by:
    getStringAttribute in interface RemoteBaseEntityInterface
    Overrides:
    getStringAttribute in class BaseEntity
    Parameters:
    attributeName - the name of the value
    defaultValue - a default value to return if the named attribute, attributeName does not exist in the Entity
    Returns:
    the object associated with the attributeName, or the defaultValue if the Entity does not contain an element for the specified attributeName.

    getAttribute

    public java.lang.Object getAttribute(java.lang.String attributeName)
                                  throws java.util.NoSuchElementException
    Description copied from interface: BaseEntityValueInterface
    Get an attribute value from the Entity.

    Specified by:
    getAttribute in interface BaseEntityValueInterface
    Specified by:
    getAttribute in interface RemoteBaseEntityValueInterface
    Overrides:
    getAttribute in class BaseEntity
    Parameters:
    attributeName - the name of the value
    Returns:
    the object associated with the attributeName
    Throws:
    java.util.NoSuchElementException - if there is no such value in the Entity (this is necessary to distinguish between no such attributeName and a value of null)

    listAllRequiredAttributesNotAssigned

    public java.util.List listAllRequiredAttributesNotAssigned()
    Returns a list of AttributeDescriptor names where the AttributeDescriptor has been designated as required, but has not had a value assigned (a value has not been set through the setAttribute method and the AttributeDescriptor does not have a default value assigned).

    Returns:
    list of attributeDescriptor names that do not have values

    removeAttribute

    public void removeAttribute(java.lang.String attributeName)
    Description copied from interface: BaseEntityInterface
    Remove an attribute from the Entity if the attribute is an instance-based attribute. You cannot remove type-based attributes from entities. After removing an instance-based attribute, BaseEntityInterface.containsAttributeNamed(String) will return false and BaseEntityValueInterface.getAttribute(String) will throw a NoSuchElementException

    Specified by:
    removeAttribute in interface BaseEntityInterface
    Specified by:
    removeAttribute in interface RemoteBaseEntityInterface
    Overrides:
    removeAttribute in class BaseEntity
    Parameters:
    attributeName - the name of the attribute

    removeAllAttributes

    public void removeAllAttributes()
    Description copied from interface: BaseEntityInterface
    Remove all attributes from the Entity.

    Specified by:
    removeAllAttributes in interface BaseEntityInterface
    Specified by:
    removeAllAttributes in interface RemoteBaseEntityInterface
    Overrides:
    removeAllAttributes in class BaseEntity

    getAttributeDescriptors

    public AttributeDescriptorInterface[] getAttributeDescriptors()
    Description copied from interface: RemoteEntityInterface
    Returns an array of AttributeDescriptors

    Specified by:
    getAttributeDescriptors in interface RemoteEntityInterface
    Returns:
    array of AttributeDescriptors

    getAttributeDescriptor

    public AttributeDescriptorInterface getAttributeDescriptor(java.lang.String attributeName)
                                                        throws java.util.NoSuchElementException
    Description copied from interface: RemoteEntityInterface
    Returns an AttributeDescriptor

    Specified by:
    getAttributeDescriptor in interface RemoteEntityInterface
    Returns:
    AttributeDescriptor
    Throws:
    java.util.NoSuchElementException - if there is no such value in this entity (this is necessary to distinguish between no such attributeName and a value of null)

    isAttributeAssigned

    public boolean isAttributeAssigned(java.lang.String attributeName)
                                throws java.util.NoSuchElementException
    Description copied from interface: RemoteEntityInterface
    Returns true if an attribute has had a value assigned or the attribute has a default value.

    Specified by:
    isAttributeAssigned in interface RemoteEntityInterface
    Returns:
    true if attribute has had value assigned or default value; false otherwise
    Throws:
    java.util.NoSuchElementException - if there is no such value in the Entity (this is necessary to distinguish between no such attributeName and a value of null)

    getBooleanSpecifiedAttributeDescriptors

    public AttributeDescriptorInterface[] getBooleanSpecifiedAttributeDescriptors(java.util.Map map)
                                                                           throws java.lang.NoSuchMethodException
    Description copied from interface: RemoteEntityInterface
    Returns an array of AttributeDescriptors that meet specified boolean attribute criteria. This method is intended to be used to retrieve only those AttributeDescriptors that have a specified value for a particular boolean attribute. The following example will retrieve only those AttributeDescriptors with isModifiable set to false and isVisible set to true:
     HashMap map = new HashMap();
     map.put(AttributeDescriptorInterface.MODIFIABLE,Boolean.FALSE);
     map.put(AttributeDescriptorInterface.VISIBLE,Boolean.TRUE);
     try {
         RemoteEntity rentity = new RemoteEntity();
         AttributeDescriptorInterface[] adi = rentity.getBooleanSpecifiedAttributeDescriptors(map);
     }
     catch(NoSuchMethodException e) {}
     

    Specified by:
    getBooleanSpecifiedAttributeDescriptors in interface RemoteEntityInterface
    Parameters:
    map - set of name/value pairs consisting of attribute/value
    Throws:
    java.lang.NoSuchMethodException - if method does not exist on the AttributeDescriptorInterface
    See Also:
    AttributeDescriptorInterface

    isAllRequiredAttributesAssigned

    public boolean isAllRequiredAttributesAssigned()
    Description copied from interface: RemoteEntityInterface
    Returns true if all attributes, designated as required, have had a value assigned or the attribute has a default value.

    Specified by:
    isAllRequiredAttributesAssigned in interface RemoteEntityInterface
    Returns:
    true if required attributes have had a value assigned or default value; false otherwise

    clear

    public void clear()
    Description copied from interface: RemoteEntityInterface
    Clear ("unset") all attribute values. Attributes would inherit their default values.

    Specified by:
    clear in interface RemoteEntityInterface

    clearAttribute

    public void clearAttribute(java.lang.String attributeName)
    Description copied from interface: RemoteEntityInterface
    Clear ("unset") an individual attribute. The attribute would inherit its default value.

    Specified by:
    clearAttribute in interface RemoteEntityInterface

    listAttributeNames

    public java.lang.String[] listAttributeNames(boolean includeDynamicAttributes,
                                                 boolean includeStaticAttributes)
    Return an array of the AttributeDescriptor names. The boolean parameter, includeDynamicAttributes, indicates whether to include only those dynamic (instance-based) attributes that have been explicitly created through the BaseEntityValueInterface.setAttribute(String attributeName, Object value) method. If set to true, this method will return the name of any AttributeDescriptor that meets either of the following:

    If set to false, this method will return the names of only those attributes that have been explicitly created through the BaseEntityValueInterface.setAttribute(String attributeName, Object value) method.

    The boolean parameter, includeStaticAttributes, indicates whether to include static (type-based) attributes. If set to true, this method will return the name of any AttributeDescriptor that corresponds to a type-based attribute. If set to false, this method will not return any type-based attribute names.

    Parameters:
    includeDynamicAttributes - indicates whether to include instance-based attributes that have not been explicitly created
    includeStaticDescriptors - indicates whether to include type-based attributes
    Returns:
    array of attribute names

    addVetoableChangeListener

    public void addVetoableChangeListener(java.lang.String propertyName,
                                          java.beans.VetoableChangeListener listener)
    Add a VetoableChangeListener for the attribute.

    Parameters:
    propertyName - attribute name
    listener - instance of VetoableChangeListener

    removeVetoableChangeListener

    public void removeVetoableChangeListener(java.lang.String propertyName,
                                             java.beans.VetoableChangeListener listener)
    Remove a VetoableChangeListener for the attribute.

    Parameters:
    propertyName - name of the attribute
    listener - instance of VetoableChangeListener

    fireVetoableChange

    public void fireVetoableChange(java.lang.String propertyName,
                                   java.lang.Object oldValue,
                                   java.lang.Object newValue)
    Report a bound property update to any registered listeners. No event is fired if old and new are equal and non-null.

    Parameters:
    propertyName - name of the attribute that was changed
    oldValue - old value of the attribute
    newValue - new value of the attribute

    setDynamicSupplementalPropertiesDefaultMap

    public void setDynamicSupplementalPropertiesDefaultMap(java.util.Map dynamicSupplementalProperties)
    Sets the properties defined in the input map, dynamicSupplementalProperties, on all AttributeDescriptors associated with dynamic (instanced-based) attributes. NOTE: This method needs to be invoked before actually issuing the setAttribute method.

    Parameters:
    dynamicSupplementalProperties - name/value pairs of supplemental properties



    Copyright © 2009 SAS Institute Inc. All Rights Reserved.