abstract class BaseFormsObject extends java.lang.Object implements JdapiObject
Modifier and Type | Field and Description |
---|---|
protected java.lang.Object |
m_clientInfo
Client info object held against this Forms object.
|
protected long |
m_pd2fob
This is the d2fob pointer in the C ifjapi60 for the object
that is derived from this class.
|
PROPERTY_DEFAULT_VALUE, PROPERTY_INHERITED_VALUE, PROPERTY_OVERRIDDEN_DEFAULT_VALUE, PROPERTY_OVERRIDDEN_INHERITED_VALUE, PROPERTY_STATE_UNKNOWN
Modifier | Constructor and Description |
---|---|
protected |
BaseFormsObject(long pd2fob)
Constructor used by derived classes.
|
Modifier and Type | Method and Description |
---|---|
void |
changeOwner(JdapiObject newOwner)
Assigns a new owner to the referred object.
|
protected void |
clearObjectPointer()
Used internally to flag this object as an invalid object.
|
JdapiObject |
clone(JdapiObject parent,
java.lang.String newName)
Creates a clone of the specified object, creating a new
object with the given name and owner.
|
JdapiObject |
createSubclassedChild(JdapiObject childOwner,
java.lang.String childName)
Subclass the referred object.
|
void |
destroy()
Destroys the object - this removes the object from it's context.
|
boolean |
equals(JdapiObject obj)
Compares two objects and determines if they are equal.
|
boolean |
getBooleanProperty(int propertyTypeId)
Retrieves a boolean property from the referred object.
|
JdapiIterator |
getChildObjectProperty(int propertyTypeId)
Retrieves child objects for a given property value.
|
java.lang.String |
getClassName()
Gets the class name of the object.
|
java.lang.Object |
getClientInfo()
Returns the client info object associated with this Object.
|
int |
getIntegerProperty(int propertyTypeId)
Retrieves an integer property from the referred object.
|
java.lang.String |
getIntegerPropertyString(int propertyTypeId)
Gets a numeric (
long ) property value's text
representation. |
JdapiMetaObject |
getJdapiMetaObject()
Gets the metadata object for the specified object.
|
JdapiIterator |
getMetaProperties()
Return an iterator over the meta properties in object referred.
|
JdapiObject |
getModule()
Get Module (MODULE_PTID) object property.
|
java.lang.String |
getName()
Get the Name property (NAME_PTID) of this object.
|
protected long |
getObjectPointer()
Gets the Forms API pointer for this object.
|
JdapiObject |
getObjectProperty(int propertyTypeId)
Retrieves a JdapiObject property from the referred object.
|
protected long |
getObjProp(int propertyTypeId)
Internal method used to get an object property value.
|
JdapiIterator |
getOwnedObjects()
Get the object instances owned by this particular object.
|
JdapiObject |
getOwner()
Get Owner (OWNER_PTID) object property.
|
Blob |
getPersistentClientInfoBlob()
Returns the persistent client info Blob associated with this
object.
|
java.lang.Object |
getPersistentClientInfoObject()
Returns the persistent client info Java object associated with this
object.
|
int |
getPropertyState(int propertyTypeId)
Returns the current state of the specified property.
|
java.lang.String |
getPropertyValueName(int propertyTypeId,
int val)
Gets the string representation of a given property's value.
|
java.lang.String |
getQualifiedName(boolean includeModule)
Gets a fully qualified name for the object in the format of:
MODULE.OBJECT.CHILD.CHILD...
|
int |
getStringIDProperty(int propertyTypeId)
Retrieves a special String ID (integer) property from the referred object.
|
java.lang.String |
getStringProperty(int propertyTypeId)
Retrieves a string property from the referred object.
|
JdapiObject |
getSubclassParent()
Get Source (SOURCE_PTID) object property, i.e.
|
abstract int |
getTypeId()
Returns the integer Forms object type that represents this object.
|
boolean |
hasDefaultedProperty(int propertyTypeId)
Checks if a property is set to it's default value.
|
boolean |
hasInheritedProperty(int propertyTypeId)
Checks if a property is inherited.
|
boolean |
hasOverriddenProperty(int propertyTypeId)
Determine whether the object referred has a property of
the given type id with an overridden value.
|
boolean |
hasProperty(int propertyTypeId)
Checks if the object has a given property.
|
void |
inheritProperty(int propertyTypeId)
Resets a property to it's default value (confusing name eh?).
|
boolean |
isSubclassed()
Checks if the object is subclassed from another object.
|
boolean |
isValidFormsObject()
Determines whether this Java instance references a valid Forms object.
|
void |
move(JdapiObject next)
Reorders an object with respect to its siblings in
the collection it belongs to.
|
int |
queryType()
Returns the FormAPI object type ID (x_OTID in
JdapiTypes ). |
void |
reattach()
Reattaches subclassed object.
|
void |
setBooleanProperty(int propertyTypeId,
boolean propertyValue)
Sets the value of the specified boolean property belonging to the referred object.
|
void |
setClientInfo(java.lang.Object clientInfo)
Sets the client information.
|
void |
setIntegerProperty(int propertyTypeId,
int propertyValue)
Sets the value of the specified object integer property.
|
void |
setObjectProperty(int propertyTypeId,
JdapiObject propertyValue)
Sets the value of the specified object object property value.
|
protected void |
setObjProp(int propertyTypeId,
long val)
Internal method used to set an object property.
|
void |
setPersistentClientInfo(Blob val)
Sets persistent client info for this object.
|
void |
setPersistentClientInfo(java.io.Serializable obj)
Serializes any Java object which supports the Serializable
interface to this object's Persistent Client Info.
|
void |
setStringProperty(int propertyTypeId,
java.lang.String propertyValue)
Sets the value of the specified string property for the object.
|
void |
setSubclassParent(JdapiObject parent)
Change the subclassing parent of the object referred.
|
java.lang.String |
toString()
Converts and returns the object properties to string format.
|
void |
unsetSubclassParent()
Remove the subclassing parent of the object referred.
|
protected transient long m_pd2fob
protected transient java.lang.Object m_clientInfo
protected BaseFormsObject(long pd2fob)
pd2fob
- C pointer to the Forms objectpublic abstract int getTypeId()
getTypeId
in interface JdapiObject
queryType
protected long getObjectPointer()
public int queryType()
JdapiTypes
). This should always be the
same value as returned for getTypeId
. The difference between the two methods is that
queryType calls down to the API itself; this ensures that the correct type
is returned. Because this method calls down to the API, you might find it
a little faster to use getTypeID instead.queryType
in interface JdapiObject
JdapiTypes
.public void setClientInfo(java.lang.Object clientInfo)
This client info object is not persistent and will be lost when the session ends.
setClientInfo
in interface JdapiObject
clientInfo
- client info to be associated with the object.public java.lang.Object getClientInfo()
setClientObject
.getClientInfo
in interface JdapiObject
public Blob getPersistentClientInfoBlob()
getPersistentClientInfoBlob
in interface JdapiObject
Blob
containing client info.public java.lang.Object getPersistentClientInfoObject()
getPersistentClientInfoObject
in interface JdapiObject
public void setPersistentClientInfo(Blob val)
Like the non-persistent client info methods, the client info can be any information that you want to save with the form. Unlike the non-persistent client info methods, the persistent info is saved as part of the form and will not be lost when the session is ended.
setPersistentClientInfo
in interface JdapiObject
val
- a Blob
object containing client info.public void setPersistentClientInfo(java.io.Serializable obj)
Like the non-persistent client info methods, the client info can be any information that you want to save with the form. Unlike the non-persistent client info methods, the persistent info is saved as part of the form and will not be lost when the session is ended.
setPersistentClientInfo
in interface JdapiObject
obj
- any Serializable object containing client info.public boolean equals(JdapiObject obj)
equals
in interface JdapiObject
obj
- object to be compared.public JdapiObject clone(JdapiObject parent, java.lang.String newName)
The new object is the same as the original object in that it has the same property values. However, subclassing information is discarded, and the inherited property values "flattened" into local values in the new object.
It is your reponsibility to pass in an appropriate parent object. If you do not do this, you will probably get a JdapiException runtime exception. If possible, use the type safe clone method that is provided on each Forms object class.
clone
in interface JdapiObject
parent
- owner of the new object.newName
- name of the new object.public void changeOwner(JdapiObject newOwner)
Set newOwner to null if you want the object to have no owner.
The only restriction on this method is that the new owner must be in the same module
as the referred object. If you attempt to assign a new owner that is in a different
module, then a JdapiException
will be thrown.
Note: If you want to assign the object to a new owner in a different module, then you will have to clone or subclass the object.
changeOwner
in interface JdapiObject
newOwner
- the new owner of referred object; specify null if you want the object to have no owner.JdapiException
- if newOwner is in a different
module.public java.lang.String toString()
toString
in interface JdapiObject
toString
in class java.lang.Object
protected void clearObjectPointer()
public boolean isValidFormsObject()
JdapiObject
For example, assume that you have a reference to a block.
If you call destroy()
on its owning module, then the module and all of its blocks
should be deleted from memory. The reference that you have no longer
refers to a valid Forms object. A call to isValidFormsObject() on the
block should return false.
isValidFormsObject
in interface JdapiObject
public void destroy()
destroy
in interface JdapiObject
public void move(JdapiObject next)
Pass null to this method to move the object to the end of the list. If the specified object and the next_object do not share the same owner, or do not have the same type, the method throws an exception.
You cannot use this method to move objects between parents. For example, it cannot be used to move an Item from one Block to another. If you want to move an object from one parent to another you will have to do something like:
// e.g. to move 'itmA' to be positioned before 'itmB' in block // 'blkB' (when 'itmA' is in another block) // copy itmA into a new parent (blkB) using same name Item newItmA = itmA.clone(blkB, itmA.getName()); newItmA.move(itmB); // move new item relative to itmB itmA.destroy(); // delete original object itmA = newItmA;
move
in interface JdapiObject
next
- the object next to which the specified object
is to be moved.JdapiException
- if you attempt to
move an object next to an object that does not share the same owner or
is not of the samme type.public boolean getBooleanProperty(int propertyTypeId)
getBooleanProperty
in interface JdapiObject
propertyTypeId
- property type ID for which a boolean value is returned.public java.lang.String getStringProperty(int propertyTypeId)
getStringProperty
in interface JdapiObject
propertyTypeId
- property type ID for which a string value is returned.public int getIntegerProperty(int propertyTypeId)
... if(propClass.hasProperty(propNumber) && propClass.allowGet(propNumber)) { int propValue = propClass.getIntegerProperty(propNum); } ...
getIntegerProperty
in interface JdapiObject
propertyTypeId
- property type ID for which an integer value is returned.public int getStringIDProperty(int propertyTypeId)
This method is intended for use with the TranslationTable
object only. For a given property ID it retrieves the integer that indexes the string
property in the table for the current language.
getStringIDProperty
in interface JdapiObject
propertyTypeId
- property type ID for which a String ID value is returned.public java.lang.String getPropertyValueName(int propertyTypeId, int val)
JdapiObject
getPropertyValueName
in interface JdapiObject
propertyTypeId
- Property numberval
- Value of propertypublic java.lang.String getIntegerPropertyString(int propertyTypeId)
JdapiObject
long
) property value's text
representation.getIntegerPropertyString
in interface JdapiObject
propertyTypeId
- Number identifying the propertyprotected long getObjProp(int propertyTypeId)
ContextCache
to lookup/instantiate
the Java representation of the object.propertyTypeId
- Number identifying the propertyContextCache
,
getObjectProperty(int)
public JdapiObject getObjectProperty(int propertyTypeId)
JdapiObject
getObjectProperty
in interface JdapiObject
propertyTypeId
- property type ID for which a JdapiObject value is returned.public JdapiIterator getChildObjectProperty(int propertyTypeId)
JdapiObject
For example:
... // get the actual values for the current child object type, // for example, get the Items on a Block iter = jo.getChildObjectProperty(prop.getPropertyId()); ...Note, it should be (slightly) faster to call the specific method on the object, for example getBlocks() on the FormModule, as it involves fewer API calls. However, getChildObjectProperty should be sufficient if you only have a propertyTypeId available.
This method also differs from the direct accessors in that null is returned if there are no objects, not an empty iterator.
getChildObjectProperty
in interface JdapiObject
propertyTypeId
- number identifying the child object property.public void setBooleanProperty(int propertyTypeId, boolean propertyValue)
JdapiObject
setBooleanProperty
in interface JdapiObject
propertyTypeId
- property type ID of the property for which you want to set the boolean value.propertyValue
- the boolean value for the property.public void setStringProperty(int propertyTypeId, java.lang.String propertyValue)
JdapiObject
setStringProperty
in interface JdapiObject
propertyTypeId
- property type ID of the property for which you want to set the string value.propertyValue
- the string value for the property.public void setIntegerProperty(int propertyTypeId, int propertyValue)
setIntegerProperty
in interface JdapiObject
propertyTypeId
- property type id for which we set the integer value.propertyValue
- the integer property value in property.protected void setObjProp(int propertyTypeId, long val)
propertyTypeId
- Number identifying the propertyval
- Value to set the property tosetObjectProperty(int, oracle.forms.jdapi.JdapiObject)
public void setObjectProperty(int propertyTypeId, JdapiObject propertyValue)
setObjectProperty
in interface JdapiObject
propertyTypeId
- property type id for which we set the object property value.propertyValue
- the object property value in property.public boolean hasProperty(int propertyTypeId)
hasProperty
in interface JdapiObject
propertyTypeId
- Number identifying the propertypublic void inheritProperty(int propertyTypeId)
inheritProperty
in interface JdapiObject
propertyTypeId
- Number that identified the propertypublic boolean hasInheritedProperty(int propertyTypeId)
hasInheritedProperty
in interface JdapiObject
propertyTypeId
- Number that identified the propertypublic boolean hasOverriddenProperty(int propertyTypeId)
hasOverriddenProperty
in interface JdapiObject
propertyTypeId
- The type id of the property to
be queried.public boolean hasDefaultedProperty(int propertyTypeId)
hasDefaultedProperty
in interface JdapiObject
propertyTypeId
- Number that identified the propertypublic int getPropertyState(int propertyTypeId)
A property can be in one of the 5 states:
PROPERTY_STATE_UNKNOWN = 0;
PROPERTY_DEFAULT_VALUE = 1;
PROPERTY_OVERRIDDEN_DEFAULT_VALUE = 2;
PROPERTY_INHERITED_VALUE = 3;
PROPERTY_OVERRIDDEN_INHERITED_VALUE = 3;
getPropertyState
in interface JdapiObject
propertyTypeId
- The type id of the property.public boolean isSubclassed()
isSubclassed
in interface JdapiObject
public JdapiObject getSubclassParent()
getSubclassParent
in interface JdapiObject
public void setSubclassParent(JdapiObject parent)
The metadata associated with each object describes the types of objects that can become its subclassing parent. If the subclassing metadata associated with the refrred object doesn't indicate the objects of the given parent's type are allowed, then this method will throw an exception.
setSubclassParent
in interface JdapiObject
parent
- The parent object. If this is null, the child
the referred object will become an orphan. This is the
way to unset the subclassing parent of an object.public void unsetSubclassParent()
The subclassing will be removed completely if it existed and the object will now contain the default values.
public JdapiObject createSubclassedChild(JdapiObject childOwner, java.lang.String childName)
createSubclassedChild
in interface JdapiObject
childOwner
- The object that will own
the newly created subclassed child object.childName
- The name to be given to the newly
created child.public void reattach()
reattach
in interface JdapiObject
public JdapiObject getModule()
getModule
in interface JdapiObject
public JdapiObject getOwner()
getOwner
in interface JdapiObject
public JdapiIterator getOwnedObjects()
getOwnedObjects
in interface JdapiObject
public java.lang.String getName()
getName
in interface JdapiObject
public java.lang.String getClassName()
getClassName
in interface JdapiObject
public java.lang.String getQualifiedName(boolean includeModule)
getQualifiedName
in interface JdapiObject
includeModule
- Include the module namepublic JdapiMetaObject getJdapiMetaObject()
getJdapiMetaObject
in interface JdapiObject
public JdapiIterator getMetaProperties()
The various property type ids and the object-property mapping are defined by the specific implementation in the respective Constants file.
getMetaProperties
in interface JdapiObject