Click or drag to resize

RpObject Class

Base class for any representation objects.
Inheritance Hierarchy

Namespace:  RW.Server.Component
Assembly:  RW.Server.Component (in RW.Server.Component.dll) Version: 7.2.0.0 (7.2.0.0)
Syntax
public abstract class RpObject

The RpObject type exposes the following members.

Constructors
  NameDescription
Protected methodRpObject
Initializes a new RpObject instance.
Top
Properties
  NameDescription
Public propertyLabel
Gets the label of the representation object.
Public propertyReference
Gets a reference which identifies this representation object in the server/component protocol.
Public propertyRepresentation
Gets the owning representation.
Public propertyRpObjectId
Gets the representation object identifier.
Public propertyRpObjModel
Gets the runtime representation object model associated with this representation object.
Public propertyRpStatus
Requests modification of the representation status of the server object associated with the representation object in the view to which the representation is attached.
Top
Methods
  NameDescription
Protected methodAckAttrUpdate
Is called by BeginS2CTransaction(S2CTransactionStatus, Int32) (if this object is involved in the transaction) for each attribute involved in the server to component transaction - except if the transaction has been aborted.

If a notification cycle or an asynchronous rollback is performed, the attribute is actually modified if and only if this method returns true.

Public methodAckOpenView
This function is called by Rogue Wave Server in order to acknowledge or rollback a view opening performed with the acknoledged openView method.This function has an empty implementation and can be overriden.
Public methodAfterInit
Called immediately after an object has been created when a representation object is instantiated by the server.
Public methodBeforeDeletion
Called between the beginS2CUpdate and the endS2CUpdate in the transaction that delete the RpObject.
Public methodBeginC2SUpdate
Initializes a buffer for updates on representation objects.
Protected methodBeginS2CUpdate
Called by the transaction mechanism if this object is involved.
Protected methodDeletion
This hook method is called when the object is "deleted".

When the component receives the order of deletion or when the garbage collector reclaims the object.

Public methodDiscardC2SUpdate
Discards the modifications stored in the update buffer.
Public methodEndC2SUpdate
Commits the updates performed on the representation object by flushing the update buffer.
Protected methodEndS2CUpdate
Is called automatically once the server has finished updating a representation object after a server component transaction.

This method is empty.

Public methodExecAsyncCallback
This function executes a given function in asynchronous mode on the Server object associated with the representation object.
Public methodExecCallback
This function executes a given function in asynchronous mode on the Server object associated with the representation object.
Public methodExecDuplexCallback
This callback executes an asynchronous call to the funName function on the Server object associated with the representation object. The result of the function is sent back to the caller through a call to the duplex global function duplexFunName.
Public methodExecSyncCallback
This function executes a given function in synchronous mode on the Server object associated with the representation object.
Protected methodFinalize
Performs finalization.
(Overrides ObjectFinalize.)
Public methodGetAttributeId(String)
Gets the attribute identifier corresponding to the attribute label.
Public methodGetAttributeId(String, Int32)
Gets the attribute identifier corresponding to an indexed attribute label.
Public methodGetAttributeKind
Gets the type identifier of an attribute attached to this representation object.
Public methodStatic memberILS_RP_ATTR_BOOLEAN
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_CHAR
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_DOUBLE
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_FLOAT
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_HREF
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_INT
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_LONG
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_MVVALUE
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_REF(String, String, String)
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_REF(String, String, String, String)
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_STRING
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_ATTR_USERTYPE
Defines an attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_BOOLEAN
Defines default boolean attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_CHAR
Defines default char attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_DOUBLE
Defines default double attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_FLOAT
Defines default float attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_INT
Defines default int attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_LONG
Defines default long attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_MVVALUE
Defines default MvValue attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_REF
Defines default ref attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_STRING
Defines default string attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_ATTR_USERTYPE
Defines default usertype attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_BOOL
Defines default indexed boolean attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_CHAR
Defines default indexed char attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_DOUBLE
Defines default indexed double attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_FLOAT
Defines default indexed float attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_INT
Defines default indexed int attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_LONG
Defines default indexed long attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_MVVALUE
Defines default indexed MvValue attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_REF
Defines default indexed ref attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_STRING
Defines default indexed string attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_DEFAULT_INDEXED_ATTR_USERTYPE
Defines default indexed usertype attribute accessor accName to the class clName.
Public methodStatic memberILS_RP_INDEXED_ATTR_BOOLEAN
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_CHAR
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_DOUBLE
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_FLOAT
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_HREF
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_INT
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_LONG
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_MVVALUE
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_REF
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_STRING
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodStatic memberILS_RP_INDEXED_ATTR_USERTYPE
Defines an indexed attribute attrName to the class clName with accessor accName.
Public methodIsEditable
Indicates if an attribute is editable.
Public methodIsMatchingHRef
This function tests whether the id attribute can be assigned a given hyper-reference. More specifically, it checks whether the update might impair the type integrity of the server.
Public methodIsMatchingRef
This function tests whether the id attribute can be assigned the value of the object. More specifically, it checks whether the update might impair the type integrity of the server.
Public methodOnAddToCollection
This method should be called each time the application component adds a representation object to the object collection. It allows the server to be notified about this modification.
Public methodOnDereference(Int32, MvValue, Boolean)
This method lets you open a view by dereferencing a hyper-reference (see "Semantics of Dynamic View Type Specifications").
Public methodOnDereference(Int32, MvValue, MvValue, Int32, Boolean)
Lets you open a view by dereferencing a hyper-reference (see "Semantics of Dynamic View Type Specifications").
Public methodOnNullifyRef
Should be called when the application component needs to reset the id reference attribute to null. It allows the server to be notified about this modification.
Public methodOnRmFromCollection
This method should be called every time the application component removes a representation object from a given collection of objects.
Public methodOnRmRepresentation
Called when the representation that owns the representation object is destroyed.

This function can be overridden.

Public methodOnSuppress
Notifies the server about the destruction of this representation object.
Public methodOnUpdate(Int32, Object)
Should be called when the application component needs to set the value of an attribute. It allows the server to be notified about this modification.
Public methodOnUpdate(Int32, RpObject, Int32)
Called when the application component needs to replace the target object of a server relation.
Public methodOpenView(String, MvValue, Boolean)
Requests the server to open a view on the server object associated with this representation object.
Public methodOpenView(String, MvValue, MvValue, Int32, Boolean)
Requests the server to open a view on the server object associated with this representation object.
Protected methodSetAny
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetAttributeValue
This function sets the value of an attribute when no modifier is found.

The default behavior consists in using the mechanism associated with the ILS_RP_DEFAULT_XXX set of macros.

This function can be redefined, especially if you use another mapping.

Protected methodSetBoolean
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetChar
Called by the server to set the value this attribute when it has no associated modifier.
Public methodSetConstAttribute
Sets the value of a constant attribute for a representation object.
Public methodSetConstAttributes
Sets the value of the constant attributes of a representation object.
Protected methodSetDouble
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetFloat
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetHRef
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetLong
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetMvValue
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetReference
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetShort
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetString
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetUserTypeValue
Called by the server to set the value this attribute when it has no associated modifier.
Protected methodSetValue
This function is called by the server to set the value of this attribute when it has no associated modifier.
Public methodTestCollection
This method tests whether the representation object can be added to a given collection of objects.
Public methodToString
Returns a string representation of this instance.
(Overrides ObjectToString.)
Top
Remarks

This class defines a generic API, on which the interaction protocol between a dynamic view server and its application components is based. Any representation object types that are referenced in a view specification must be implemented by a type that derives from this class. An instance of this class is configured by a representation object model specific to a representation.

A set of editing methods lets you create and update your representation objects. To actually update representation objects, you must redefine those methods. Symmetrically, this class defines a set of callback methods that should be invoked whenever a representation object is directly modified by an application component. These methods are responsible for sending modifications to the server.

The macros used in the C++ version of Rogue Wave Server to specify mappings (ILS_RP_ATTR_XXX, ILS_RP_DEFAULT_ATTR_XXX, etc.) are replaced by static methods with the same meaning. Typically, these "macros" are put into the static initializer of the corresponding representation class. You can also use the functions of the Mapping class to specify mappings.

public class RowRp
      : RpObject {
    ....
  public void SetParent(TableRp p) {
    ...
  }
  public void SetValue(int i, String val) {
    ...
  }
  public void SetValue(int i, int val) {
    ...
  }

  static RpRow() {
     ILS_RP_ATTR_REF("RowRp", "parent", "SetParent", "TableRp");
     ILS_RP_INDEXED_ATTR_STRING("RowRp", "column", "SetValue");
     ILS_RP_INDEXED_ATTR_INT("RowRp",    "column", "SetValue");
  }
};
See Also