Sun Microsystems 2 manual Element Handling by Merge

Page 26

The Merge operation is commutative, so with API A and B, A + B = B + A.

It recognizes either binary or source compatibility when merging APIs.

For any application X that is compatible with either API A or B, when A and B are merged then X must be compatible with the resulting API C.

The resulting API C cannot contain a class that is not found in either of the A or B input APIs. This means that any class in C has to have corresponding classes in either A or B or both A and B.

API C must not contain a class member that is not found in its corresponding classes in A and B. This applies only to declared class members and not inherited members.

If some class in A or B, or both, has a member that overrides a member from a superclass, then the corresponding class in C must also have this overriding member.

Each API element in C has a set of attributes derived from the attributes of its corresponding elements in A and B, and this is the smallest possible set of attributes that does not break compatibility. So if attr is an attribute of an element from API C, then attr must be defined for the corresponding element from A or B, and attr can not be omitted without breaking compatibility between A and C or between B and C.

No unnecessary APIs or relationships between classes or interfaces can be introduced.

The basic algorithmic rules for combining two input APIs A and B into a signature file that represents the resulting API C are as follows:

If one of the input APIs A or B contains an element that the other does not, then this element goes into the resulting signature file of API C without modification except for the following case: If the element in question is the first declared class member in the inheritance chain of input API A or B, and the other input API inherits the same element, then this element represented the resulting API C.

If both of the input APIs contain two identical elements, only one of them is represented in the resulting API.

If both of the input APIs contain a corresponding element, but with a different set of attributes, then either of the following occurs:

A conflict wherein the resulting API can not exist.

A compromise wherein the new element with a composite set of attributes is created and it is represented in the resulting API-set.

Element Handling by Merge

General rules for handling elements of all kinds during the Merge process are as follows.

12 Signature Test Tool 2.0 User’s Guide • April 2008

Image 26
Contents SigTest Tool 2.0 User’s Guide Please Recycle Contents SignatureTest Command SetupAndTest CommandIndex Vi Signature Test Tool 2.0 User’s Guide April Tables Table A-1Viii Signature Test Tool 2.0 User’s Guide April Code Examples Signature Test Tool 2.0 User’s Guide April Http//jtharness.dev.java.net Who Should Use This GuideBefore You Read This Guide How This Guide Is Organized Related DocumentationTypographic Conventions Sun Welcomes Your CommentsXiv Signature Test Tool 2.0 User’s Guide April Introduction Signature Test BasicsWhat is Tested Mutual Binary Compatibility CheckMutual Source Compatibility Check Class and Class Member Attributes CheckedSource and Binary Compatibility Modes Using Custom Signature Loaders Signature Test Tool 2.0 User’s Guide April Using the Signature Test Tool Signature Test Tool BasicsReflection and Static Run Modes Generics Checking in Binary Mode Constant Checking in Differing Run ModesPackage PackageWithoutSubpackages Exclude Bootstrap and Extension Classes1Settings for the Setup and SignatureTest Commands JSR 68-Based Merge Merge Command Operative PrinciplesSignature File Merge Rules Element Handling by Merge Using the Signature Test Tool Java com.sun.tdk.signaturetest.Setup arguments Setup CommandCommand Description Help Debug Static Classpath pathPackage FileName filename ClosedFile File//pathNonClosedFile VerboseJava.lang.RuntimeException class, or Case Sensitivity of Command ArgumentsSignature File Formats 3Signature File Format CompatibilitySignature File Contents 4Signature File Content Summary Signature File BodyStrictfp Transient Volatile Synchroniz Native Java com.sun.tdk.signaturetest.SignatureTest arguments Help Debug Static Mode bin src5SignatureTest Command Arguments ClassCacheSize sizeofcache CheckValueNoCheckValue Classpath see ClasspathFormatPlain ErrorAllNoMerge Testsuite-path/tests/api/signaturetest Running a Signature Test With the JavaTest HarnessSigTest-Directory/examples/sampleTCK/tck/tests/api/sigtest FileName ./name.sig Report FormatsSorted Report Unsorted Report Code Example 2-1Unsorted Report ExampleHelp Reference path Java com.sun.tdk.signaturetest.SetupAndTest arguments6SetupAndTest Command Argument Merge Command Java com.sun.tdk.signaturetest.Merge arguments7Merge Command Arguments Help Files Write -BinaryExample Setup Command Quick Start ExamplesV1.0/example/test.class Running the Setup CommandJavac -d V1.0 V1.0/test.java This completes the Setup command example Example SignatureTest Command Running SignatureTest Without the JavaTest HarnessV2.0/example/test.class STATUSFailed.3 errorsJavac -d V2.0 V2.0/test.java V2.0/example/test.class The API under test Example SetupAndTest CommandRunning the SetupAndTest Command Setenv JRE Java-Home/jre/lib/rt.jarCode Example A-5SetupAndTest Command Output Example Merge Examples Running Merge ExamplesA.class Run command #2 Example Result Files Code Example A-7 Contents of ./x2.sig Code Example A-9 Contents of x1+x2.sig Signature Test Tool 2.0 User’s Guide April Sorted report, 24 static mode IndexUnsorted report
Related manuals
Manual 50 pages 18.14 Kb

2 specifications

Sun Microsystems, founded in 1982, was a significant player in the computing industry, best known for its innovative technology solutions and workstations, particularly the Sun-4, which represented a key milestone in the company's history. The Sun-4 architecture, launched in 1987, utilized the SPARC (Scalable Processor Architecture) RISC processor, notable for its high performance and scalability.

One of the primary features of Sun Microsystems' platforms was their ability to efficiently handle multitasking and resource management, making them ideal for enterprise-level applications and development environments. Sun-4 workstations boasted impressive graphics capabilities with the addition of advanced graphical user interfaces, support for color displays, and the SUNVIEW windowing system, which enhanced user experience and productivity.

The Sun-4 systems also supported the SunOS operating system, which was based on UNIX. This operating system was engineered for stability and robustness, offering features like multiuser support, networked environments, and advanced security options. Moreover, SunOS provided seamless integration with various programming languages, including C and C++, facilitating software development that aligned with industry standards.

Another standout characteristic of Sun Microsystems was its commitment to open systems and standards. By providing developers with comprehensive tools and environments, such as the Standardized Application Programming Interface (API) and support for networking protocols, Sun facilitated interoperability among different computing platforms. The emphasis on open architecture also meant that customers could easily upgrade their systems without being locked into proprietary solutions.

Sun Microsystems was also ahead of its time with innovations in network computing. Their workstations were among the first to support network file systems and distributed computing concepts, enabling seamless data sharing across multiple systems. With the introduction of the Network File System (NFS), Sun revolutionized how data was accessed and managed across networks, which played a significant role in the evolving landscape of client-server computing.

In summary, the Sun Microsystems 2 and its successive innovations in workstation technology highlighted the company's forward-thinking approach. By integrating powerful performance with open systems, robust operating systems, and advanced networking capabilities, Sun laid the groundwork for modern computing, influencing various sectors from academia to enterprise solutions. Even after its acquisition by Oracle in 2010, the legacy of Sun Microsystems continues to be felt across the computing industry.