Operation specific parameters and their correspoding Java types
| Operation | Operation Specific Parameter Indentifier | Proposed Corresponding Java Type |
|---|---|---|
| Bind | $version | ? |
| Bind | $name | javax.naming.Name |
| Bind | $authentication | ? |
| Unbind | – | – |
| Search | $baseObject | javax.naming.Name |
| Search | $scope" | int |
| Search | $derefAliases | boolean |
| Search | $sizeLimit | long |
| Search | $timeLimit | int |
| Search | $typesOnly | boolean |
| Search | $filter | java.lang.String |
| Search | $attributes | java.lang.String[] |
| Search | $searchResults | javax.naming.NamingEnumeration |
| Modify | $object | javax.naming.Name |
| Modify | $modification | javax.naming.directory.ModificationItem[] |
| Modify | $oldEntry | javax.naming.directory.Attributes |
| Modify | $newEntry | javax.naming.directory.Attributes |
| Add | $entry | javax.naming.Name |
| Add | $attributes | javax.naming.directory.Attributes |
| Delete | $name | javax.naming.Name |
| Delete | $deletedEntry | javax.naming.directory.Attributes |
| ModDN | $entry | javax.naming.Name |
| ModDN | $newrdn | javax.naming.Name |
| ModDN | $deleteoldrdn | boolean |
| ModDN | $newSuperior | javax.naming.Name |
| Compare | $entry | javax.naming.Name |
| Compare | $ava | javax.naming.directory.Attribute ? |
| Compare | $compareResult | boolean |
| Abandon | $messageId | ? |
| Extended | $requestName | ? |
| Extended | $requestValue | ? |
Things to consider
- I'm especially not sure about how to handle Abandon and Extended operations in the core.
- Some extended operations do not hit the core.
- The $version parameter for bind operation may not hit the core; I do not know.
- The $authentication parameter for bind operation will probably associated with a java.util.Map.
- The $ava parameter for compare operation can be associated with a java.util.Map whose keys are "AttributeDescription" and "AttributeValue" where the value types are java.lang.String and java.lang.Object respectively. However the proposed type association (javax.naming.directory.Attribute) is simpler and more type safe.
- What about the return types for INSTEADOF Triggers? INSTEADOF Triggers need some clearification for operations which return data results.
