|
AR System Java API | |||||||||
PREV NEXT | FRAMES NO FRAMES |
See:
Description
Packages | |
---|---|
com.bmc.arsys.api |
The Java API is a collection of classes, interfaces, and relationships that provide full client functionality like the AR System C API in a style consistent with typical Java programming techniques. Like the C API, the Java API is forward and backward compatible with other versions of AR System. See the Integrating with Plug-ins and Third-Party Products guide for information about setting up to use the Java API.
For product related issues or questions, contact Customer Support by e-mail at support@remedy.com.
For questions or comments about this documentation, e-mail us at .
Consistent with object-oriented design, the AR System Java API represents AR System server objects as Java objects. Classes are defined for forms, fields, menus, active link, filter, escalations, and all other objects in an AR System application. Entry objects represent entries (requests) so your Java client can manipulate AR System data as well as definitions.
The following paragraphs summarize the key classes and types of classes in the API. Follow the links for details.
The ARServerUser object represents the connection between your Java client program and the AR System server. It include session information such as user name, password, and server. A typical program starts by creating an ARServerUser object with user name, password, server name, and the like. Using the ARServerUser instance methods, it logs in to the AR System server; creates, gets, searches for, updates, and deletes server objects; and log out. A call to a get method returns a server object, a call to a getList (search) methods return a list of object identities (for example, names for forms or IDs for fields), and a call to a getListObjects method returns a list of objects.
The Java API includes classes for all server objects: Form, Field, View, ActiveLink, Escalation, Filter, Container, Menu, Entry, and SupportFile. The Form, Field, Container, and Menu classes have subclasses to represent specialized types, for example, RegularForm, IntegerField, ApplicationContainer, and SqlMenu.
The ARServerUser create methods create these objects. The get and getListObjects methods return them. Each set method takes a server object parameter that specifies which object the server should update. For example, the ARServerUser method setField takes a Field parameter.
Objects in the AR System Java API are cloneable. The clone() method performs a deep copy of the object. A deep copy is a copy of an object that contains the complete encapsulated data of the original object, allowing it to be used independently of the original Java object. Of course, if the original Java object represents an AR System server object, the clone represent the same object.
Errors are modeled through the ARException class. All error messages that are returned by the server are thrown as an ARException in the Java API.
The primary goals of this API revision are to simplify the interface and eliminate drawbacks of the 7.0 API. Changes include:
These API changes require significant code changes to update an older Java API program to the 7.5 API. These specific API changes require changes in your program:
To get started converting your Java program:
Use this information to change code with compilation errors for the new API:
Error | Action | Notes and Examples |
---|---|---|
Invalid method | Replace with ARserverUser method | ARServerUser method names are formed by combined the word in the action they perform and are overloaded. Choose the appropriate method. |
Class does not exist | Replace with the new class | String-like classes such as AccessNameID and NameID are replaced by String. Interger-wrapping classes such as InternalID and FieldID are replaced by int. |
Server-object classes: |
||
Bad array-type method parameter | Replace with List, Map, or API collection-wrapping class | The 7.5 API replaces most of the 7.0 API array-type members and method parameter and return values with List classes (typically instantiation of ArrayList) Some array-types are replaced by Maps (typically instantiation of TreeMap or LinkedHashMap). Some new classes are wrapper classes such as Entry, PropertyMap, DisplayInstanceMap, and the like. |
You can find examples of use of the 7.5 API in the JavaDriver sample program source code. (See the Integrating with Plug-ins and Third-Party Products guide for the location of the code.)
After successfully upgrading your application to use the 7.5 API, be sure to test your application and compare it with your previous implementation to ensure functional equivalence.
ARServerUser includes the functionalty provided by the factory classes. The get and getList methods no longer use parameters with Criteria class types.
Old name | New name |
---|---|
LimitInfo | FieldLimit |
ActiveLinkActionInfo | ActiveLinkAction |
ActiveLinkMacroInfo | RunMacroAction |
AttachmentInfo | AttachmentValue |
AttachmentLimitInfo | AttachmentFieldLimit |
AutomationInfo | OleAutomationAction |
ByteListInfo | ByteListValue |
CallGuideInfo | CallGuideAction |
CharLimitInfo | CharacterFieldLimit |
CharMenuDDFieldInfo | FieldDataDictionaryMenu |
CharMenuDDFormInfo | FormDataDictionaryMenu |
CharMenuDDInfo | DataDictionaryMenu |
CharMenuFileInfo | FileMenu |
FieldCharacteristicsInfo | ChangeFieldAction |
CharMenuInfo | Menu |
CharMenuItemInfo | MenuItem |
CharMenuListInfo | CharMenuSSInfo |
CharMenuQueryInfo | QueryMenu |
CharMenuSQLInfo | SqlMenu |
CloseWindowInfo | CloseWindowAction |
ColumnLimitInfo | ColumnFieldLimit |
CommitChangesInfo | CommitChangesAction |
CurrencyLimitInfo | CurrencyFieldLimit |
CurrencyInfo | CurrencyValue |
DDEInfo | DDEAction |
DecimalLimitInfo | DecimalFieldLimit |
DiaryInfo | DiaryItem |
DiaryLimitInfo | DiaryFieldLimit |
DiaryInfo[] | DiaryListValue |
DisplayInstanceInfo | DisplayPropertyMap |
DisplayInstanceList | DisplayInstanceMap |
DisplayLimits | DisplayFieldLimit |
SQLInfo | DirectSqlAction |
EnumLimitInfo | SelectionFieldLimit |
EscalationTmInfo | EscalationTimeCriteria, EscalationInterval, EscalationTime |
ExitGuideInfo | ExitGuideAction |
ExternalReferenceInfo | ExternalReference |
FieldLimitInfo | FieldLimit |
FieldMappingInfo | FieldMapping, RegularFieldMapping |
FilterActionInfo | FilterAction |
FilterStatusInfo | FilterMessageAction |
GotoActionInfo | GotoAction |
GotoGuideLabelInfo | GotoGuideLabelAction |
IntegerLimitInfo | IntegerFieldLimit |
JoinMappingInfo | JoinFieldMapping |
JoinSchemaInfo | JoinForm |
MessageInfo | MessageAction |
NotifyActionInfo | NotifyAction |
OpenDialogInfo | OpenWindowAction |
PropInfo[] | PropertyMap |
PushFieldsActionInfo | PushFieldsAction |
RealLimitInfo | RealFieldLimit |
ReferenceBase | Reference |
Schema | Form |
SchemaCriteria | FormCriteria |
SetFieldsActionInfo | SetFieldsAction |
StatusHistoryInfo | StatusHistoryItem |
ServerInfo[] | ServerInfoMap |
TableLimitInfo | TableFieldLimit |
VendorMappingInfo | VendorFieldMapping |
VendorSchemaInfo | VendorForm |
ViewLimits | ViewFieldLimit |
ViewMappingInfo | ViewFieldMapping |
ViewSchemaInfo | ViewForm |
WaitInfo | WaitAction |
BMC, BMC Software, and the BMC Software logo are the exclusive properties of BMC Software, Inc., are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other BMC trademarks, service marks, and logos may be registered or pending registration in the U.S. or in other countries. All other trademarks or registered trademarks are the property of their respective owners.
DB2 is a registered trademark of International Business Machines Corporation.
IBM is a registered trademark of International Business Machines Corporation.
ITIL is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX is a registered trademark of The Open Group.
BMC Software considers information included in this documentation to be proprietary and confidential. Your use of this information is subject to the terms and conditions of the applicable End User License Agreement for the product and the proprietary and restricted rights notices included in this documentation.
|
AR System Java API | |||||||||
PREV NEXT | FRAMES NO FRAMES |