![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Object Classes Rational Apex provides an object-oriented interface to the UNIX directory structure. Each UNIX file or directory has an associated subclass that defines the operations that can be applied to it. The Apex subclass is based on the name or extension of the object as well as the UNIX file type (for example, file or directory).
Fundamental ClassesThe fundamental Apex classes correspond to the different UNIX file types. All Apex objects are associated with one of the classes, which include the following:
- File
- Directory
- Symbolic_Link
- Block_Device
- Character_Device
- Named_Pipe
- Socket
File SubclassesListed below are the subclasses of the fundamental File class. An object of any of these subclasses is a UNIX file with the designated extension or name. In addition, the object must satisfy any restrictions on its location.
Objects with the correct extension or name but an incorrect location are treated as ordinary files. For example, files with the .ada (Ada) or .h (C/C++) extension are treated as ordinary files if they are not nested within a library context which is a Summit/CM view (for Apex/Summit) or Rational subsystem (for Apex/ClearCase).
UNIX files that have neither a name nor an extension of a File subclass are treated as ordinary files.
- Ada (Ada only)
Represents Ada program units.
Extension: .ada
Location: Must be located within a library context.- Assembly
Represents a assembly language program units.
Extension: .s
Location: Must be located within a library context.- Configuration
Contains sets of library contexts. Generally used by the importing and compilation commands.
Extension: .cfg- Switches
Contains the context switches that apply in a library context.
Name: SwitchesLocation: Parent directory must be the Policy directory.
- Switch_File
Contains additional switches.
Extension: .sw- Saved
Used by various operations (for example, abandon) to save old file contents.
Extension: .saved- Diana (Ada only)
Stores the internal representation of Ada units.
Extension: .dna- Object_File
Stores the object code associated with program units.
Extension: .o- Archive_Library
A UNIX archive library containing object files.
Extension: .a- Exports_File
Contains the list of units exported from the library context. Created by the create_export_set command.
Extension: .exdLocation: Parent directory must be the Exports directory.
- Export_Sets_File
Contains the names of the export sets used during importing.
Extension: .export_setsLocation: Parent directory must be the Imports directory.
- Core
Represents UNIX core files.
Name: core- Source_Description (Apex/Summit)
Specifies the implementation file that contains information used by the version control commands.
Name: Source_DescriptionLocation: Parent directory must be the Version_Control directory.
- System_Description
Contains a description of logical import relationships for a set of subsystems. FOr Apex/Summit, this information is independent of actual views.
Extension: .sysd- History_Control (Apex/Summit)
Specifies the implementation file that contains information used by the version control commands.
Extension: ,control
Location: Must be nested within the Version_History directory.
Note: Files associated with the version control database use a comma (",") to denote the extension for compatibility with RCS)
- History_Notes (Apex/Summit)
Specifies the implementation file that contains information used by the version control commands.
Extension: ,notes
Location: Must be nested within the Version_History directory.- Rcs_Versions (Apex/Summit)
Specifies the implementation file that contains information used by the version control commands.
Extension: ,v
Location: Must be nested within the Version_History directory.- View_Properties (Apex/Summit)
Specifies the implementation file that contains internal view state.
Name: View_Properties
Location: Must be nested within the View_Control directory.- Header (C/C++ only)
C and C++ header files.
Extensions: .h .hh .H .hpp .hxx- Source (C/C++ only)
C++ source files.
Extensions: .cc .C .cpp .cxx- C_Source (C/C++ only)
- Makefile (C/C++ only)
UNIX makefiles.
Name: Makefile or Extension: .mk- Dependency_File (C/C++ only)
Files containing makefile dependency information.
Extension: .dep- Registered_Set_File (C/C++ only)
Used by the build management system to group together objects with common characteristics.
Extension: .reg- Sienna (C/C++ only)
Stores the internal representation of C and C++ program files.
Extension: .cna- Visibility_File (C/C++ only)
Used by Build Management to manage visibility between imported library contexts.
Extensions: .vdf- Directory_Content (C/C++ only)
Used by Build Management to manage source files in library contexts.
Name: Directory_Content
Directory SubclassesListed below are the subclasses of the fundamental Directory class. An object of any of these subclasses is a UNIX directory with the designated extension or name, and it satisfies any restrictions on its location. Objects with the correct extension or name but an incorrect location are treated as an object of the special class Broken. For example, Summit/CM views (Apex/Summit) that are not nested within subsystems have the Broken subclass.
Directories that have neither a name nor an extension of a Directory subclass are treated as ordinary directories.
- Rational Subsystem (Apex/ClearCase)
Represents Rational subsystems.
Extension: .rss
Location:- Subsystem (Apex/Summit)
Represents Apex subsystems.
Extension: .ss
Location: Subsystem cannot be nested within other subsystems.- Working (Apex/Summit)
Represents Apex working views.
Extension: .wrk
Location: Views must be located within a subsystem and cannot be nested within other views.- Release (Apex/Summit)
Represents Apex release views.
Extension: .rel
Location: Views must be located within a subsystem and cannot be nested within other views.- Imports
Directory in each library context which contains the files used as input to the import commands.
Name: Imports
Location: Parent directory must be a library context.- Exports
Directory in each library context which contains the different export sets defined in the library context.
Name: Exports
Location: Parent directory must be a library context.- Policy
Directory containing files that specify policies to be used by other operations. In particular, the Switches files is contained in this directory.
Name: Policy
Location: Parent directory must be a Summit/CM view or subsystem (Apex/Summit) or a Rational Subsystem (Apex/ClearCase).- Rational
Stores various implementation files.
Name: .Rational
Location: Parent directory must be a Summit/CM view or subsystem (Apex/Summit) or a Rational Subsystem (Apex/ClearCase).- User_Rational
Stores various implementation files.
Extension: .rtnl- Compilation
Stores compiler-related information.
Name: Compilation
Location: Parent directory must be the Rational directory.- Version_Control (Apex/Summit)
Stores files related to version control.
Name: Version_Control
Location: Parent directory must be the Rational directory.- Version_History (Apex/Summit)
Stores files related to version control.
Name: Version_History
Location: Parent directory must be the Rational directory.- View_Control (Apex/Summit)
Stores state for a view.
Name: View_Control
Location: Parent directory must be the Rational directory.- Imports_Control
Stores files related to import operations.
Name: Imports_Control
Location: Parent directory must be the Rational directory.- Exports_Control
Stores files related to export operations.
Name: Exports_Control
Location: Parent directory must be the Rational directory.- Locks_Control (Apex/Summit)
Implements certain types of locks.
Name: Locks_Control
Location: Parent directory must be the Rational directory.- Build_Control (C/C++ only)
Stores implementation files associated with Build Management.
Name: Build_Control
Location: Parent directory must be the Rational directory.- Links (C/C++ only)
Stores links to imported library contexts.
Name: Links- Nets (C/C++ only)
Contains C/C++ compiler debugging information.
Name: .nets- Lines (C/C++ only)
Contains C/C++ compiler debugging information.
Name: .lines- System
There is an additional Directory subclass used for special purposes:
- Broken
Used as the subclass for directories that have a name or extension associated with some other subclass but do not satisfy the location constraint of the subclass.
Symbolic Link SubclassesListed below are each of the subclasses of the fundamental Symbolic_Link class. An object of any of these subclasses is a UNIX directory with the designated extension or name and satisfies any restrictions on its location. Objects with the correct extension and/or name but an incorrect location are treated as ordinary symbolic links.
Symbolic Links with neither the name nor the extension of a subclass are treated as ordinary Symbolic Links.
- Rational_Location
Used to specify the permanent name of the enclosing directory. The set_location command modifies this object.
Name: .Rational_Location- Links_Link (C/C++ only)
Symbolic link to the Links directory which contains links to imported library contexts.
Name: Links
Abstract SubclassesA number of abstract subclasses can be mentioned in Apex messages. Because these subclasses are abstract, they have no name or extension associated with them. The abstract subclasses include the following:
- Object
The root of the Rational Apex class hierarchy. All the fundamental classes are derived from this class.
- View (Apex/Summit)
Represents views; derived from the Directory class. The Working and Release subclasses are derived from this class.
- Program_Unit
Represents the common characteristics of all program units; derived from the File class. The Ada and Cpp classes are derived from this class.
- Managed_Directory
Represents Apex-defined directories commonly manipulated by users; derived from the Directory class. The Imports, Exports, and Policy subclasses are derived from this class.
- Rational_Directory
Represents a number of Apex implementation directories; derived from the Directory class. The Rational and Compilation classes (among others) are derived from this class.
- Cpp (C/C++ only)
Temporary Object Management FilesA number of special files are created by the object management system to support safe updates and locking. (See Object Management System for more details.) These files do not have a designated subclass. However, the name of each file follows a given pattern:
.<name-of-associated-file>.<machine/process-information>_<om-suffix>
where the components of the pattern have the following meaning:
- <name-of-associated-file>
Names the ordinary file that has been opened or locked.
- <machine/process-information>
Contains the name of the machine and process id of the process that opened or locked the file.
- <om-suffix>
Specifies the kind of temporary files. The values used are TMP, NEW, OLD, LOK, BAK, and RCV.
Temporary Object Management DirectoriesThe object management system also creates or renames some directories during various operations. For example, when the storage of an Apex/Summit view is moved, the name of the directory containing the old storage is changed to contain the string "GARBAGE". If the operation is successful, the renamed directory is deleted. However if the operation is aborted or if deletion is prevented in some way, the renamed directory continues to exist and must be manually deleted.
Context SwitchesThe following context switches can be used to control object class characteristics:
- DEFAULT_EXTENSIONS: extensions...
Used during object creation to determine the extension to use for a particular object class when the class has multiple legal extensions. This is only used if the extension was not specified as part of the new objects name. The value may include at most one extension for a particular object class. The default value specifies that .h will be the default extension for header files and .C will be the default extension for source files.
Default value: .h .C
Rational Software Corporation http://www.rational.com support@rational.com techpubs@rational.com Copyright © 1993-2002, Rational Software Corporation. All rights reserved. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |