Class MenuItem

java.lang.Object
oracle.forms.jdapi.MenuItem
All Implemented Interfaces:
JdapiObject

public class MenuItem extends Object
Object to represent a Forms MenuItem object. This is an encapsulation of the Forms C API d2fmni.

In some cases, using methods on this class may result in a JdapiIllegalStateException being thrown. When this happens, you are using an object that refers to a Forms object that has been deleted - your reference is no longer valid. You can check if an instance of this class is valid by using the isValidFormsObject() method. If you code correctly, this should not happen. It will tend to happen if you keep references (for extended periods) to Forms objects rather than look them up dynamically. Of course you will only have this problem if you destroy Forms objects.

See Also:
  • BaseAPI
  • Field Details

    • m_pd2fob

      protected transient long m_pd2fob
      This is the d2fob pointer in the C ifjapi60 for the object that is derived from this class.
    • m_clientInfo

      protected transient Object m_clientInfo
      Client info object held against this Forms object.
  • Constructor Details

    • MenuItem

      public MenuItem(Menu parent, String name)
      Constructor used to create MenuItem objects in the context of a Menu parent object.
      Parameters:
      parent - Parent object
      name - Name of the new object
    • MenuItem

      public MenuItem(Menu parent, String name, MenuItem base)
      Constructor used to create MenuItem objects in the context of a Menu parent object. The newly created object is derived from the 'base' object.
      Parameters:
      parent - Parent object
      name - Name of the new object
      base - MenuItem object to derive from
    • MenuItem

      public MenuItem(Menu parent, String name, PropertyClass base)
      Constructor used to create MenuItem objects in the context of a Menu parent object. The newly created object is derived from the 'base' PropertyClass.
      Parameters:
      parent - Parent object
      name - Name of the new object
      base - PropertyClass object to derive from
    • MenuItem

      public MenuItem(ObjectLibrary olb, ObjectLibraryTab tab, String name)
      Constructor used to create MenuItem objects in the context of an ObjectLibraryTab parent object.
      Parameters:
      olb - The ObjectLibrary module to create this object in
      tab - The tab in the passed ObjectLibrary to attach the new object to
      name - Name of the new object
    • MenuItem

      public MenuItem(ObjectLibrary olb, ObjectLibraryTab tab, String name, MenuItem base)
      Constructor used to create MenuItem objects in the context of an ObjectLibraryTab parent object. The newly created object is derived from the 'base' object.
      Parameters:
      olb - The ObjectLibrary module to create this object in
      tab - The tab in the passed ObjectLibrary to attach the new object to
      name - Name of the new object
      base - MenuItem object to derive from
    • MenuItem

      public MenuItem(ObjectLibrary olb, ObjectLibraryTab tab, String name, PropertyClass base)
      Constructor used to create MenuItem objects in the context of an ObjectLibraryTab parent object. The newly created object is derived from the 'base' PropertyClass.
      Parameters:
      olb - The ObjectLibrary module to create this object in
      tab - The tab in the passed ObjectLibrary to attach the new object to
      name - Name of the new object
      base - PropertyClass object to derive from
    • MenuItem

      protected MenuItem(long pd2fmni)
      Protected constructor, used internally to create MenuItem objects. This doesn't actually create a new MenuItem, it just creates a Java instance for an already existing Forms object.

      Do NOT use this constructor, even within the Jdapi package. If you have a pointer and need to instantiate it's Java representation, get the object via the context cache, e.g.

       myBaseObject = Jdapi.getObject(myPointer);
       
      Parameters:
      pd2fmni - C pointer to Forms object
  • Method Details

    • getTypeId

      public int getTypeId()
      Gets the HtmlForms object type ID.
      Specified by:
      getTypeId in interface JdapiObject
      Returns:
      X_OTID ID for this object type
      See Also:
    • clone

      public MenuItem clone(Menu parent, String newName)
      Creates a copy of the object as a child of 'parent'
      Parameters:
      parent - Parent object
      newName - Name of object that's being created
      Returns:
      Replicant object
    • clone

      public MenuItem clone(ObjectLibraryTab parent, String newName)
      Creates a copy of the object as a child of 'parent'
      Parameters:
      parent - Parent object
      newName - Name of object that's being created
      Returns:
      Replicant object
    • find

      public static MenuItem find(Menu parent, String name)
      Find an instance of MenuItem that is a child of a Menu.
      Parameters:
      parent - Parent object of object you wish to find
      name - Name of object you wish to find
      Returns:
      Object instance you are looking for, or null if none was found
    • find

      public static MenuItem find(ObjectLibraryTab parent, String name)
      Find an instance of MenuItem that is a child of a ObjectLibraryTab.
      Parameters:
      parent - Parent object of object you wish to find
      name - Name of object you wish to find
      Returns:
      Object instance you are looking for, or null if none was found
    • addRole

      public void addRole(int index, String role)
      Adds a role to the list of roles for a menu item.
      Parameters:
      index - Index to add role at
      role - The name of the role
    • removeRole

      public void removeRole(int index)
      Removes a role from the list of roles for a menu item.
      Parameters:
      index - Index of role to remove
    • getRole

      public String getRole(int index)
      Gets the name of a role from a menu item's list of roles.
      Parameters:
      index - Index of role to get
      Returns:
      index The name of the role
    • getCommandText

      public String getCommandText()
      Get text property CommandText (COMMAND_TEXT_PTID).
      Returns:
      Value of property
    • setCommandText

      public void setCommandText(String value)
      Sets text property CommandText (COMMAND_TEXT_PTID).
      Parameters:
      value - Value to set property to
    • getComment

      public String getComment()
      Get text property Comment (COMMENT_PTID).
      Returns:
      Value of property
    • setComment

      public void setComment(String value)
      Sets text property Comment (COMMENT_PTID).
      Parameters:
      value - Value to set property to
    • getFontName

      public String getFontName()
      Get text property FontName (FONT_NAME_PTID).
      Returns:
      Value of property
    • setFontName

      public void setFontName(String value)
      Sets text property FontName (FONT_NAME_PTID).
      Parameters:
      value - Value to set property to
    • getHint

      public String getHint()
      Get text property Hint (HINT_PTID).
      Returns:
      Value of property
    • setHint

      public void setHint(String value)
      Sets text property Hint (HINT_PTID).
      Parameters:
      value - Value to set property to
    • getIconFilename

      public String getIconFilename()
      Get text property IconFilename (ICON_FILENAME_PTID).
      Returns:
      Value of property
    • setIconFilename

      public void setIconFilename(String value)
      Sets text property IconFilename (ICON_FILENAME_PTID).
      Parameters:
      value - Value to set property to
    • getKeyboardAccelerator

      public String getKeyboardAccelerator()
      Get text property KeyboardAccelerator (KEYBOARD_ACCELERATOR_PTID).
      Returns:
      Value of property
    • setKeyboardAccelerator

      public void setKeyboardAccelerator(String value)
      Sets text property KeyboardAccelerator (KEYBOARD_ACCELERATOR_PTID).
      Parameters:
      value - Value to set property to
    • getLabel

      public String getLabel()
      Get text property Label (LABEL_PTID).
      Returns:
      Value of property
    • setLabel

      public void setLabel(String value)
      Sets text property Label (LABEL_PTID).
      Parameters:
      value - Value to set property to
    • getMenuItemCode

      public String getMenuItemCode()
      Get text property MenuItemCode (MENU_ITEM_CODE_PTID).
      Returns:
      Value of property
    • setMenuItemCode

      public void setMenuItemCode(String value)
      Sets text property MenuItemCode (MENU_ITEM_CODE_PTID).
      Parameters:
      value - Value to set property to
    • getMenuItemRadioGroup

      public String getMenuItemRadioGroup()
      Get text property MenuItemRadioGroup (MENU_ITEM_RADIO_GROUP_PTID).
      Returns:
      Value of property
    • setMenuItemRadioGroup

      public void setMenuItemRadioGroup(String value)
      Sets text property MenuItemRadioGroup (MENU_ITEM_RADIO_GROUP_PTID).
      Parameters:
      value - Value to set property to
    • getName

      public String getName()
      Get text property Name (NAME_PTID).
      Specified by:
      getName in interface JdapiObject
      Returns:
      Value of property
    • setName

      public void setName(String value)
      Sets text property Name (NAME_PTID).
      Parameters:
      value - Value to set property to
    • getParentFilename

      public String getParentFilename()
      Get text property ParentFilename (PARENT_FILENAME_PTID).
      Returns:
      Value of property
    • setParentFilename

      public void setParentFilename(String value)
      Sets text property ParentFilename (PARENT_FILENAME_PTID).
      Parameters:
      value - Value to set property to
    • getParentFilepath

      public String getParentFilepath()
      Get text property ParentFilepath (PARENT_FILEPATH_PTID).
      Returns:
      Value of property
    • setParentFilepath

      public void setParentFilepath(String value)
      Sets text property ParentFilepath (PARENT_FILEPATH_PTID).
      Parameters:
      value - Value to set property to
    • getParentModule

      public String getParentModule()
      Get text property ParentModule (PARENT_MODULE_PTID).
      Returns:
      Value of property
    • setParentModule

      public void setParentModule(String value)
      Sets text property ParentModule (PARENT_MODULE_PTID).
      Parameters:
      value - Value to set property to
    • getParentName

      public String getParentName()
      Get text property ParentName (PARENT_NAME_PTID).
      Returns:
      Value of property
    • setParentName

      public void setParentName(String value)
      Sets text property ParentName (PARENT_NAME_PTID).
      Parameters:
      value - Value to set property to
    • getParentSourceLevel1ObjectName

      public String getParentSourceLevel1ObjectName()
      Get text property ParentSourceLevel1ObjectName (PARENT_SOURCELEVEL1OBJECT_NAME_PTID).
      Returns:
      Value of property
    • setParentSourceLevel1ObjectName

      public void setParentSourceLevel1ObjectName(String value)
      Sets text property ParentSourceLevel1ObjectName (PARENT_SOURCELEVEL1OBJECT_NAME_PTID).
      Parameters:
      value - Value to set property to
    • getSubMenuName

      public String getSubMenuName()
      Get text property SubMenuName (SUB_MENU_NAME_PTID).
      Returns:
      Value of property
    • setSubMenuName

      public void setSubMenuName(String value)
      Sets text property SubMenuName (SUB_MENU_NAME_PTID).
      Parameters:
      value - Value to set property to
    • getVisualAttributeName

      public String getVisualAttributeName()
      Get text property VisualAttributeName (VISUALATTRIBUTE_NAME_PTID).
      Returns:
      Value of property
    • setVisualAttributeName

      public void setVisualAttributeName(String value)
      Sets text property VisualAttributeName (VISUALATTRIBUTE_NAME_PTID).
      Parameters:
      value - Value to set property to
    • getCommandType

      public int getCommandType()
      Get number property CommandType (COMMAND_TYPE_PTID).
      Returns:
      Value of property
    • setCommandType

      public void setCommandType(int value)
      Sets number property CommandType (COMMAND_TYPE_PTID).
      Parameters:
      value - Value to set property to
    • getFontSize

      public int getFontSize()
      Get number property FontSize (FONT_SIZE_PTID).
      Returns:
      Value of property
    • setFontSize

      public void setFontSize(int value)
      Sets number property FontSize (FONT_SIZE_PTID).
      Parameters:
      value - Value to set property to
    • getFontSpacing

      public int getFontSpacing()
      Get number property FontSpacing (FONT_SPACING_PTID).
      Returns:
      Value of property
    • setFontSpacing

      public void setFontSpacing(int value)
      Sets number property FontSpacing (FONT_SPACING_PTID).
      Parameters:
      value - Value to set property to
    • getFontStyle

      public int getFontStyle()
      Get number property FontStyle (FONT_STYLE_PTID).
      Returns:
      Value of property
    • setFontStyle

      public void setFontStyle(int value)
      Sets number property FontStyle (FONT_STYLE_PTID).
      Parameters:
      value - Value to set property to
    • getFontWeight

      public int getFontWeight()
      Get number property FontWeight (FONT_WEIGHT_PTID).
      Returns:
      Value of property
    • setFontWeight

      public void setFontWeight(int value)
      Sets number property FontWeight (FONT_WEIGHT_PTID).
      Parameters:
      value - Value to set property to
    • getMagicItem

      public int getMagicItem()
      Get number property MagicItem (MAGIC_ITEM_PTID).
      Returns:
      Value of property
    • setMagicItem

      public void setMagicItem(int value)
      Sets number property MagicItem (MAGIC_ITEM_PTID).
      Parameters:
      value - Value to set property to
    • getMenuItemType

      public int getMenuItemType()
      Get number property MenuItemType (MENU_ITEM_TYPE_PTID).
      Returns:
      Value of property
    • setMenuItemType

      public void setMenuItemType(int value)
      Sets number property MenuItemType (MENU_ITEM_TYPE_PTID).
      Parameters:
      value - Value to set property to
    • getParentModuleType

      public int getParentModuleType()
      Get number property ParentModuleType (PARENT_MODULETYPE_PTID).
      Returns:
      Value of property
    • setParentModuleType

      public void setParentModuleType(int value)
      Sets number property ParentModuleType (PARENT_MODULETYPE_PTID).
      Parameters:
      value - Value to set property to
    • getParentSourceLevel1ObjectType

      public int getParentSourceLevel1ObjectType()
      Get number property ParentSourceLevel1ObjectType (PARENT_SOURCELEVEL1OBJECT_TYPE_PTID).
      Returns:
      Value of property
    • setParentSourceLevel1ObjectType

      public void setParentSourceLevel1ObjectType(int value)
      Sets number property ParentSourceLevel1ObjectType (PARENT_SOURCELEVEL1OBJECT_TYPE_PTID).
      Parameters:
      value - Value to set property to
    • getParentType

      public int getParentType()
      Get number property ParentType (PARENT_TYPE_PTID).
      Returns:
      Value of property
    • setParentType

      public void setParentType(int value)
      Sets number property ParentType (PARENT_TYPE_PTID).
      Parameters:
      value - Value to set property to
    • getPersistentClientInfoLength

      public int getPersistentClientInfoLength()
      Get number property PersistentClientInfoLength (PERSISTENT_CLIENT_INFO_LENGTH_PTID).
      Returns:
      Value of property
    • setPersistentClientInfoLength

      public void setPersistentClientInfoLength(int value)
      Sets number property PersistentClientInfoLength (PERSISTENT_CLIENT_INFO_LENGTH_PTID).
      Parameters:
      value - Value to set property to
    • getRoleCount

      public int getRoleCount()
      Get number property RoleCount (ROLE_COUNT_PTID).
      Returns:
      Value of property
    • isDirtyInfo

      public boolean isDirtyInfo()
      Get boolean property DirtyInfo (DIRTY_INFO_PTID).
      Returns:
      Value of property
    • setDirtyInfo

      public void setDirtyInfo(boolean value)
      Sets boolean property DirtyInfo (DIRTY_INFO_PTID).
      Parameters:
      value - Value to set property to
    • isDisplayNoPriv

      public boolean isDisplayNoPriv()
      Get boolean property DisplayNoPriv (DISPLAY_NO_PRIV_PTID).
      Returns:
      Value of property
    • setDisplayNoPriv

      public void setDisplayNoPriv(boolean value)
      Sets boolean property DisplayNoPriv (DISPLAY_NO_PRIV_PTID).
      Parameters:
      value - Value to set property to
    • isEnabled

      public boolean isEnabled()
      Get boolean property Enabled (ENABLED_PTID).
      Returns:
      Value of property
    • setEnabled

      public void setEnabled(boolean value)
      Sets boolean property Enabled (ENABLED_PTID).
      Parameters:
      value - Value to set property to
    • isIconInMenu

      public boolean isIconInMenu()
      Get boolean property IconInMenu (ICON_IN_MENU_PTID).
      Returns:
      Value of property
    • setIconInMenu

      public void setIconInMenu(boolean value)
      Sets boolean property IconInMenu (ICON_IN_MENU_PTID).
      Parameters:
      value - Value to set property to
    • isSubclassSubObject

      public boolean isSubclassSubObject()
      Get boolean property SubclassSubObject (SUBCLASS_SUBOBJECT_PTID).
      Returns:
      Value of property
    • setSubclassSubObject

      public void setSubclassSubObject(boolean value)
      Sets boolean property SubclassSubObject (SUBCLASS_SUBOBJECT_PTID).
      Parameters:
      value - Value to set property to
    • isVisible

      public boolean isVisible()
      Get boolean property Visible (VISIBLE_PTID).
      Returns:
      Value of property
    • setVisible

      public void setVisible(boolean value)
      Sets boolean property Visible (VISIBLE_PTID).
      Parameters:
      value - Value to set property to
    • isVisibleInHorizontalMenuToolbar

      public boolean isVisibleInHorizontalMenuToolbar()
      Get boolean property VisibleInHorizontalMenuToolbar (VISIBLE_IN_HORIZONTAL_MENU_TOOLBAR_PTID).
      Returns:
      Value of property
    • setVisibleInHorizontalMenuToolbar

      public void setVisibleInHorizontalMenuToolbar(boolean value)
      Sets boolean property VisibleInHorizontalMenuToolbar (VISIBLE_IN_HORIZONTAL_MENU_TOOLBAR_PTID).
      Parameters:
      value - Value to set property to
    • isVisibleInMenu

      public boolean isVisibleInMenu()
      Get boolean property VisibleInMenu (VISIBLE_IN_MENU_PTID).
      Returns:
      Value of property
    • setVisibleInMenu

      public void setVisibleInMenu(boolean value)
      Sets boolean property VisibleInMenu (VISIBLE_IN_MENU_PTID).
      Parameters:
      value - Value to set property to
    • isVisibleInVerticalMenuToolbar

      public boolean isVisibleInVerticalMenuToolbar()
      Get boolean property VisibleInVerticalMenuToolbar (VISIBLE_IN_VERTICAL_MENU_TOOLBAR_PTID).
      Returns:
      Value of property
    • setVisibleInVerticalMenuToolbar

      public void setVisibleInVerticalMenuToolbar(boolean value)
      Sets boolean property VisibleInVerticalMenuToolbar (VISIBLE_IN_VERTICAL_MENU_TOOLBAR_PTID).
      Parameters:
      value - Value to set property to
    • getModule

      public JdapiObject getModule()
      Get object property Module (MODULE_PTID). The return value may be an instance of: MenuModule ObjectLibrary FormModule
      Specified by:
      getModule in interface JdapiObject
      Returns:
      Value of property downcast to a JdapiObject (null if none)
    • getOwner

      public JdapiObject getOwner()
      Get object property Owner (OWNER_PTID). The return value may be an instance of: ObjectGroup Menu ObjectLibraryTab
      Specified by:
      getOwner in interface JdapiObject
      Returns:
      Value of property downcast to a JdapiObject (null if none)
    • getSource

      public JdapiObject getSource()
      Get object property Source (SOURCE_PTID). The return value may be an instance of: MenuItem PropertyClass
      Returns:
      Value of property downcast to a JdapiObject (null if none)
    • getSubMenuObject

      public MenuItem getSubMenuObject()
      Get object property SubMenuObject (SUB_MENU_OBJECT_PTID).
      Returns:
      Value of property (null if none)
    • setSubMenuObject

      public void setSubMenuObject(MenuItem value)
      Set object property SubMenuObject (SUB_MENU_OBJECT_PTID).
      Parameters:
      value - MenuItem object to set property to
    • getVisualAttributeObject

      public VisualAttribute getVisualAttributeObject()
      Get object property VisualAttributeObject (VISUALATTRIBUTE_OBJECT_PTID).
      Returns:
      Value of property (null if none)
    • setVisualAttributeObject

      public void setVisualAttributeObject(VisualAttribute value)
      Set object property VisualAttributeObject (VISUALATTRIBUTE_OBJECT_PTID).
      Parameters:
      value - VisualAttribute object to set property to
    • getObjectPointer

      protected long getObjectPointer()
      Gets the Forms API pointer for this object.
      Returns:
      C pointer to the Forms object
    • queryType

      public int queryType()
      Returns the FormAPI object type ID (x_OTID in 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.
      Specified by:
      queryType in interface JdapiObject
      Returns:
      x_OTID an object type ID as defined in JdapiTypes.
    • setClientInfo

      public void setClientInfo(Object clientInfo)
      Sets the client information. Since the clientInfo is a java.lang.Object, the client information can be anything you want to associate with the referred object. For example, you can create your own class, then pass it to this method. The referred object will retain a reference to the clientInfo.

      This client info object is not persistent and will be lost when the session ends.

      Specified by:
      setClientInfo in interface JdapiObject
      Parameters:
      clientInfo - client info to be associated with the object.
    • getClientInfo

      public Object getClientInfo()
      Returns the client info object associated with this Object. The type ID of the object returned is dependant on the type ID of the object that was set using setClientObject.
      Specified by:
      getClientInfo in interface JdapiObject
      Returns:
      the client info object associated with this object.
    • getPersistentClientInfoBlob

      public Blob getPersistentClientInfoBlob()
      Returns the persistent client info Blob associated with this object.
      Specified by:
      getPersistentClientInfoBlob in interface JdapiObject
      Returns:
      Blob containing client info.
    • getPersistentClientInfoObject

      public Object getPersistentClientInfoObject()
      Returns the persistent client info Java object associated with this object.
      Specified by:
      getPersistentClientInfoObject in interface JdapiObject
      Returns:
      java.lang.Object serialized into the Forms object.
    • setPersistentClientInfo

      public void setPersistentClientInfo(Blob val)
      Sets persistent client info for this object.

      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.

      Specified by:
      setPersistentClientInfo in interface JdapiObject
      Parameters:
      val - a Blob object containing client info.
    • setPersistentClientInfo

      public void setPersistentClientInfo(Serializable obj)
      Serializes any Java object which supports the Serializable interface to this object's Persistent Client Info.

      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.

      Specified by:
      setPersistentClientInfo in interface JdapiObject
      Parameters:
      obj - any Serializable object containing client info.
    • equals

      public boolean equals(JdapiObject obj)
      Compares two objects and determines if they are equal.
      Specified by:
      equals in interface JdapiObject
      Parameters:
      obj - object to be compared.
      Returns:
      true if the two objects are equal; returns false if they are not equal.
    • clone

      public JdapiObject clone(JdapiObject parent, String newName)
      Creates a clone of the specified object, creating a new object with the given name and owner. For example, given a Block in Form A, you can clone it into Form B by passing Form B in the parent parameter, and specifying a new name for the block in the newName parameter.

      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.

      Specified by:
      clone in interface JdapiObject
      Parameters:
      parent - owner of the new object.
      newName - name of the new object.
      Returns:
      the clone of the object.
    • changeOwner

      public void changeOwner(JdapiObject newOwner)
      Assigns a new owner to the referred object. This method will cause any previous owner to relinquish its ownership of the referred object.

      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.

      Specified by:
      changeOwner in interface JdapiObject
      Parameters:
      newOwner - the new owner of referred object; specify null if you want the object to have no owner.
      Throws:
      JdapiException - if newOwner is in a different module.
    • toString

      public String toString()
      Converts and returns the object properties to string format. This is useful for debugging purposes. The string is in the format: NAME(CLASSNAME, pointer: D2FOB*, context D2FCTX*)
      Specified by:
      toString in interface JdapiObject
      Overrides:
      toString in class Object
      Returns:
      String representation of the object
    • clearObjectPointer

      protected void clearObjectPointer()
      Used internally to flag this object as an invalid object.
    • isValidFormsObject

      public boolean isValidFormsObject()
      Description copied from interface: JdapiObject
      Determines whether this Java instance references a valid Forms object.

      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.

      Specified by:
      isValidFormsObject in interface JdapiObject
      Returns:
      true if the instance references a valid forms object; false otherwise.
    • destroy

      public void destroy()
      Destroys the object - this removes the object from it's context. The JNI level is responsible for removing this object from the context cache, so we don't need to do that in here.
      Specified by:
      destroy in interface JdapiObject
    • move

      public void move(JdapiObject next)
      Reorders an object with respect to its siblings in the collection it belongs to. This is similar to using drag and drop in Form Builder to move a block in a list. This method represents a way to do the same thing programmatically. For example, if you want a block appear immediately before Block5 in a list, you pass the object representing Block5 as the nextObject argument.

      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;
       
      Specified by:
      move in interface JdapiObject
      Parameters:
      next - the object next to which the specified object is to be moved.
      Throws:
      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.
    • getBooleanProperty

      public boolean getBooleanProperty(int propertyTypeId)
      Retrieves a boolean property from the referred object.
      Specified by:
      getBooleanProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type ID for which a boolean value is returned.
      Returns:
      the boolean property value.
    • getStringProperty

      public String getStringProperty(int propertyTypeId)
      Retrieves a string property from the referred object.
      Specified by:
      getStringProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type ID for which a string value is returned.
      Returns:
      the string property value.
    • getIntegerProperty

      public int getIntegerProperty(int propertyTypeId)
      Retrieves an integer property from the referred object. For example:
         ...
          if(propClass.hasProperty(propNumber) && propClass.allowGet(propNumber))
          {
            int propValue = propClass.getIntegerProperty(propNum);
          } 
          ...
       
      Specified by:
      getIntegerProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type ID for which an integer value is returned.
      Returns:
      the integer property value.
    • getStringIDProperty

      public int getStringIDProperty(int propertyTypeId)
      Retrieves a special String ID (integer) property from the referred object.

      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.

      Specified by:
      getStringIDProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type ID for which a String ID value is returned.
      Returns:
      the integer String ID property value.
    • getPropertyValueName

      public String getPropertyValueName(int propertyTypeId, int val)
      Description copied from interface: JdapiObject
      Gets the string representation of a given property's value.
      Specified by:
      getPropertyValueName in interface JdapiObject
      Parameters:
      propertyTypeId - Property number
      val - Value of property
      Returns:
      String representation
    • getIntegerPropertyString

      public String getIntegerPropertyString(int propertyTypeId)
      Description copied from interface: JdapiObject
      Gets a numeric (long) property value's text representation.
      Specified by:
      getIntegerPropertyString in interface JdapiObject
      Parameters:
      propertyTypeId - Number identifying the property
      Returns:
      Property's text representation
    • getObjProp

      protected long getObjProp(int propertyTypeId)
      Internal method used to get an object property value. This only really gets the C pointer to the Forms object. You must then use the ContextCache to lookup/instantiate the Java representation of the object.
      Parameters:
      propertyTypeId - Number identifying the property
      Returns:
      Property's value
      See Also:
    • getObjectProperty

      public JdapiObject getObjectProperty(int propertyTypeId)
      Description copied from interface: JdapiObject
      Retrieves a JdapiObject property from the referred object. For example, if you pass the integer propertyTypeId for an Item in a Block to this method, it returns the Item.
      Specified by:
      getObjectProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type ID for which a JdapiObject value is returned.
      Returns:
      the JdapiObject property value.
    • getChildObjectProperty

      public JdapiIterator getChildObjectProperty(int propertyTypeId)
      Description copied from interface: JdapiObject
      Retrieves child objects for a given property value. Implicit in this method is the idea of an ownership relationship between objects. Items are clearly owned by a Block. If you delete the Block, then its Items are deleted. On the other hand, Items can appear on a Canvas. If you delete the Canvas, however, the Items are not deleted. Thus, the method returns an iterator over Items if it is passed a Block. In contrast, if it is passed a Canvas, it should not return an iterator over Items.

      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.

      Specified by:
      getChildObjectProperty in interface JdapiObject
      Parameters:
      propertyTypeId - number identifying the child object property.
      Returns:
      Iterator for child objects, can return null if there are no child objects.
    • setBooleanProperty

      public void setBooleanProperty(int propertyTypeId, boolean propertyValue)
      Description copied from interface: JdapiObject
      Sets the value of the specified boolean property belonging to the referred object.
      Specified by:
      setBooleanProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type ID of the property for which you want to set the boolean value.
      propertyValue - the boolean value for the property.
    • setStringProperty

      public void setStringProperty(int propertyTypeId, String propertyValue)
      Description copied from interface: JdapiObject
      Sets the value of the specified string property for the object.
      Specified by:
      setStringProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type ID of the property for which you want to set the string value.
      propertyValue - the string value for the property.
    • setIntegerProperty

      public void setIntegerProperty(int propertyTypeId, int propertyValue)
      Sets the value of the specified object integer property.
      Specified by:
      setIntegerProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type id for which we set the integer value.
      propertyValue - the integer property value in property.
    • setObjProp

      protected void setObjProp(int propertyTypeId, long val)
      Internal method used to set an object property. This sets the object property by the C pointer to the object you want to set.
      Parameters:
      propertyTypeId - Number identifying the property
      val - Value to set the property to
      See Also:
    • setObjectProperty

      public void setObjectProperty(int propertyTypeId, JdapiObject propertyValue)
      Sets the value of the specified object object property value.
      Specified by:
      setObjectProperty in interface JdapiObject
      Parameters:
      propertyTypeId - property type id for which we set the object property value.
      propertyValue - the object property value in property.
    • hasProperty

      public boolean hasProperty(int propertyTypeId)
      Checks if the object has a given property.
      Specified by:
      hasProperty in interface JdapiObject
      Parameters:
      propertyTypeId - Number identifying the property
      Returns:
      'true' if the object has that property, 'false' otherwise
    • inheritProperty

      public void inheritProperty(int propertyTypeId)
      Resets a property to it's default value (confusing name eh?). What it's really doing is setting the property to it's base classes value - i.e. whatever it's subclassed from. If the object is not subclassed from anything, then this is the default value.
      Specified by:
      inheritProperty in interface JdapiObject
      Parameters:
      propertyTypeId - Number that identified the property
    • hasInheritedProperty

      public boolean hasInheritedProperty(int propertyTypeId)
      Checks if a property is inherited.
      Specified by:
      hasInheritedProperty in interface JdapiObject
      Parameters:
      propertyTypeId - Number that identified the property
      Returns:
      'true' if property is inherited
    • hasOverriddenProperty

      public boolean hasOverriddenProperty(int propertyTypeId)
      Determine whether the object referred has a property of the given type id with an overridden value.
      Specified by:
      hasOverriddenProperty in interface JdapiObject
      Parameters:
      propertyTypeId - The type id of the property to be queried.
      Returns:
      TRUE if the object's property has overridden value, else FALSE.
    • hasDefaultedProperty

      public boolean hasDefaultedProperty(int propertyTypeId)
      Checks if a property is set to it's default value.
      Specified by:
      hasDefaultedProperty in interface JdapiObject
      Parameters:
      propertyTypeId - Number that identified the property
      Returns:
      'true' if the property is set to the default value
    • getPropertyState

      public int getPropertyState(int propertyTypeId)
      Returns the current state of the specified property.

      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;

      Specified by:
      getPropertyState in interface JdapiObject
      Parameters:
      propertyTypeId - The type id of the property.
      Returns:
      integer 0 through 3 representing one of the states.
    • isSubclassed

      public boolean isSubclassed()
      Checks if the object is subclassed from another object.
      Specified by:
      isSubclassed in interface JdapiObject
      Returns:
      'true' if the object is subclassed, 'false' otherwise
    • getSubclassParent

      public JdapiObject getSubclassParent()
      Get Source (SOURCE_PTID) object property, i.e. the object this object subclassed from. This is also implemented on derived classed with this property as getSource().
      Specified by:
      getSubclassParent in interface JdapiObject
      Returns:
      Value of property downcast to a BaseFormsObject (null if none of object does not have this property)
    • setSubclassParent

      public void setSubclassParent(JdapiObject parent)
      Change the subclassing parent of the object referred.

      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.

      Specified by:
      setSubclassParent in interface JdapiObject
      Parameters:
      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.
    • unsetSubclassParent

      public void unsetSubclassParent()
      Remove the subclassing parent of the object referred.

      The subclassing will be removed completely if it existed and the object will now contain the default values.

    • createSubclassedChild

      public JdapiObject createSubclassedChild(JdapiObject childOwner, String childName)
      Subclass the referred object. The child will be owned by the referred object specified.
      Specified by:
      createSubclassedChild in interface JdapiObject
      Parameters:
      childOwner - The object that will own the newly created subclassed child object.
      childName - The name to be given to the newly created child.
      Returns:
      the subclassed object.
    • reattach

      public void reattach()
      Reattaches subclassed object. You must call this method if you manipulate any of the following properties of a Forms object: PAR_MODULE_PTID, PAR_NAM_PTID, PAR_SL1OBJ_NAM_PTID, PAR_MODTYP_PTID, PAR_TYP_PTID, PARSL1OBJ_TYP_PTID This is only if you are manipulating these low level subclassing properties.
      Specified by:
      reattach in interface JdapiObject
    • getOwnedObjects

      public JdapiIterator getOwnedObjects()
      Get the object instances owned by this particular object.
      Specified by:
      getOwnedObjects in interface JdapiObject
      Returns:
      Iterator of JdapiObjects
    • getClassName

      public String getClassName()
      Gets the class name of the object. This is useful if you want to refer to the name of the Forms object in some output but don't want the Java package details.
      Specified by:
      getClassName in interface JdapiObject
      Returns:
      Name of "class" of Forms object
    • getQualifiedName

      public String getQualifiedName(boolean includeModule)
      Gets a fully qualified name for the object in the format of: MODULE.OBJECT.CHILD.CHILD... i.e. '.' separates the objects names from the current object back upto the module.

      Specified by:
      getQualifiedName in interface JdapiObject
      Parameters:
      includeModule - Include the module name
    • getJdapiMetaObject

      public JdapiMetaObject getJdapiMetaObject()
      Gets the metadata object for the specified object.
      Specified by:
      getJdapiMetaObject in interface JdapiObject
      Returns:
      the metadata object for the specified object.
    • getMetaProperties

      public JdapiIterator getMetaProperties()
      Return an iterator over the meta properties in object referred.

      The various property type ids and the object-property mapping are defined by the specific implementation in the respective Constants file.

      Specified by:
      getMetaProperties in interface JdapiObject
      Returns:
      an enumeration of the specified object meta properties.