Note:
Extension of the classes in this package is prohibited unless otherwise documented. Similarly, extension or implementation of the interfaces in this package is prohibited except as documented.Package com.sas.services.information.publicobject
Public Objects
Overview
The public objects are used to represent metadata and content stored for the SAS system.
Terms
| Processor Interface | An interface used to define actions or processes that can be defined for objects. |
| Type Descriptor | An interface which allows access to the information about a public object. This information is defined in the metadata type dictionary. |
Information Service
The public objects are accessed and used as any Information Service "smart object". This is described in detail in the Information Service package description. A typical class would extend the Metadata base class and would implement the necessary methods..
...
|
Processor Interface(s)
The public object api uses a set of interfaces to describe the processes or actions an object supports. These processes and/or actions are defined in an interface that extends com.sas.services.information.publicobject.ProcessorInterface. the following interfaces are defined and can be supported by objects implementing the PublicObjectInterface.
| ImpactAnalysisProcessorInterface | This is used to tell what objects depend upon another object. |
| ChangeManagementProcessorInterface | This used to manage versioning of objects. |
| DisplayProcessorInterface | This is used to describe the object in an areas where the general information about the object is needed. |
| SecurityProcessorInterface | This is used to describe the permissions and security actions the user has on this object. |
| TransportProcessorInterface | This is used to describe the transportable actions that an object participates in. |
These interfaces are accessed by the getProcessorInterface(String name) on the public object. This allows the objects to adapt themselves to support functionality. Each of these interfaces is implemented by a adapter class and that interface is then registered so that the adapter is returned when someone requests a processor interface.
Impact Analysis
To define a class as having the ImpactAnalysisProcessorInterface you would create a class that extends the ImpactAnalysisAdapter and override any default implentations as necessary.
/**
|
Display / General Properties
It is also possible to implement just return the adapter if you have no implementation. This is usually where the default adapter class will suffice for the current usage. Notice in the example above that the DisplayProcessorAdapter is the default one. This allows the object to have a default implementation. There is no default implementation for the impact analysis or the transport processors.
Registering Interfaces
Interface implementing classes are registered with public objects by implementations of the getProcessorInterface(String interfaceClassName) method.
/**
|
This allows a public object class to override and implement the necessary interfaces or to use the default adapters provided by the parent class. In the example above the ImpactAnalysisAdapter is an inner class that extends the default adapter and the DisplayAdapter is the default implementation. For all other interfaces, this class lets the super class provide the necessary information.
Transport Service and the Transport Handler Interface
The Transport Handler is used to process all transport operations. This interface is used to transport metadata and content. This is accessed by the type descriptor for each type as necessary, however it is registered by adding a method on the public object class to allow retrieval.
/**
|
This Transport Handler is a class used to override functionality of the AbstractTransportHandler. This allows overriding the default behavior and adding specific functionality to support transport of content and any pre/post processing of transported information.
-
ClassDescriptionThis interface is used to process/get the basic information necessary about an object, such as its description, keywords, and created/modified dates.Deprecated.This interface is used to describe the depencencies of public objects.This interface describes a container of Public Objects.This object defines a Public Object.A class for Public Type utility methods.A simple wrapper class used for providing details of a responsible party object in metadata.This class provides an interface for client applications to query and manipulate the permissions on a metadata object.TransportProcessorInterface is used to define the actions/processes used to move or change locational information about an object.This interface describes the type dictionary entry for an public object type.
DetailsProcessorInterface