Official Content

Defines whether objects in other Modules can access the object. It can be specified either at the Module or object level.

Setting a value at the Module level changes the default value for all objects in the Module.

Values

Public Any object in any module can access a public object.
Private Only objects in the same module (and its child modules) can access private objects.
Internal Only objects that have a common root module (child of the one named 'Root Module') can access internal objects

 

The default value for a given object is inherited from its parent Module object.

Description

One goal, when designing a Module object, is to define how it is going to be used (i.e. how other modules can interact with the one that is being defined). Some Module objects may be accessed elsewhere in the Knowledge Base and some may not.

By setting the appropriate value of the Object visibility property a developer can control how each object can be accessed outside its Module, that is, design the Module interface.

Example


Root Module
|-- ProcRoot
|-- ModuleA
|--  |-- ProcA
|--  |-- ModuleA1
|--  |    |-- ProcA1 //Public
|--  |    |-- ModuleA11
|--  |         |-- ProcA11_Internal //Internal
|--  |         |-- ProcA11_Private // Private
|--  |-- ModuleA2
|--       |-- ProcA2


In this example

  • ProcRoot can call ProcA1. It cannot call ProcA11_Internal and ProcA11_Private
  • ProcA, ProcA1 and ProcA2 can call ProcA11_Internal. They cannot call ProcA11_Private
  • ProcA11_Internal can call ProcA11_Private
  • When packaging ModuleA1, only ProcA1 is part of its interface.

How to apply changes

When an object's visibility is changed, all the objects that have references to it are automatically specified by the next Build operation. They may not need to be generated.

Availability

This property is available as of GeneXus Tilo Beta 1.
The value 'Internal' is available as of GeneXus 15 Upgrade 3

See also

Modules
Modules vs. Folders
Modules - Dynamic calls




Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant