com.ibm.websphere.wim
Interface SchemaService

All Superinterfaces:
SchemaConstants
All Known Subinterfaces:
LocalService, Service, WIMService, WIMServiceLocal
All Known Implementing Classes:
LocalServiceProvider, ServiceProvider

public interface SchemaService
extends SchemaConstants

The schema service interface.


Field Summary
 
Fields inherited from interface com.ibm.websphere.wim.SchemaConstants
ASYNC_MODE, CACHE_MODE, CACHE_MODE_CLEAR_ENTITY, CACHE_MODE_CLEARALL, CHANGETYPE_ADD, CHANGETYPE_ALL, CHANGETYPE_DELETE, CHANGETYPE_MODIFY, CHANGETYPE_RENAME, COPYRIGHT_NOTICE, DATA_TYPE_ADDRESS_TYPE, DATA_TYPE_ANY_SIMPLE_TYPE, DATA_TYPE_ANY_URI, DATA_TYPE_BASE_64_BINARY, DATA_TYPE_BOOLEAN, DATA_TYPE_BYTE, DATA_TYPE_DATE, DATA_TYPE_DATE_TIME, DATA_TYPE_DOUBLE, DATA_TYPE_ENTITY_TYPE, DATA_TYPE_GROUP_TYPE, DATA_TYPE_IDENTIFIER_TYPE, DATA_TYPE_INT, DATA_TYPE_LANG_TYPE, DATA_TYPE_LONG, DATA_TYPE_PERSON_TYPE, DATA_TYPE_SHORT, DATA_TYPE_STRING, DATA_TYPE_TOKEN, DO_ACTION_NOT_ALLOW, DO_ANCESTOR_CONTROL, DO_CACHE_CONTROL, DO_CHANGE_CONTROL, DO_CHANGE_RESPONSE_CONTROL, DO_CHECK_GROUP_MEMBERSHIP_CONTROL, DO_CHECKPOINT, DO_CHECKPOINT_TYPE, DO_CHILDREN, DO_CONTEXT, DO_CONTEXT_PROPERTIES, DO_CONTEXTS, DO_CONTROLS, DO_DATATYPE_CONTROL, DO_DELETE_CONTROL, DO_DESCENDANT_CONTROL, DO_DOCUMENT_ROOT, DO_ENTITIES, DO_ENTITY, DO_ENTITY_CONFIGURATION, DO_ENTITY_SCHEMA, DO_ENTITY_TYPE_CONTROL, DO_EXTENSION_PROPERTIY_SCHEMA, DO_EXTENSION_PROPERTY_DATATYPE_CONTROL, DO_EXTENSION_PROPERTY_DEFINITION_CONTROL, DO_EXTENSION_PROPERTY_SCHEMA, DO_EXTERNAL_NAME_CONTROL, DO_GROUP, DO_GROUP_MEMBER_CONTROL, DO_GROUP_MEMBERSHIP_CONTROL, DO_GROUPS, DO_IDENTIFIER, DO_IDENTIFIER_TYPE, DO_LOGIN_ACCOUNT, DO_LOGIN_CONTROL, DO_MEMBERS, DO_META_DATA, DO_ORGCONTAINER, DO_PAGE_CONTROL, DO_PAGE_RESPONSE_CONTROL, DO_PARENT, DO_PERSON, DO_PERSON_ACCOUNT, DO_PRINCIPAL, DO_PROPERTIES, DO_PROPERTY_CONTROL, DO_PROPERTY_DATA_TYPES, DO_PROPERTY_DEFINITION_CONTROL, DO_PROPERTY_SCHEMA, DO_REPOSITORY_IDS, DO_REQUEST_CONTROL, DO_RESPONSE_CONTROL, DO_ROOT, DO_ROOT_TYPE, DO_SCHEMA, DO_SEARCH_CONTROL, DO_SEARCH_RESPONSE_CONTROL, DO_SORT_CONTROL, DO_SORT_KEY_TYPE, DO_SORT_KEYS, DO_VIEW_CONTROL, DO_VIEW_IDENTIFIER_TYPE, DO_VIEW_IDENTIFIERS, IS_REQUIRED, META_DATABASE_APPLICATION_ID, META_DATABASE_CASE_EXACT_MATCH, META_DATABASE_CLASSNAME, META_DATABASE_DESCRIPTION, META_DATABASE_IS_COMPOSITE, META_DATABASE_META_NAME, META_DATABASE_MULTI_VALUED, META_DATABASE_READ_ONLY, META_DATABASE_VALUE_LENGTH, META_LDAP_OBJECT_CLASS_FOR_CREATE, META_LDAP_OBJECT_CLASSES, META_LDAP_OBJECT_CLASSES_FOR_CREATE, META_LDAP_RDN_ATTRIBUTES, META_LDAP_SEARCH_BASES, META_LDAP_SEARCH_FILTER, META_REPOSITORY_DATA_TYPE, META_REPOSITORY_PROPERTY_NAME, PROP_ACTION_NAME, PROP_APPLICABLE_ENTITY_TYPE_NAMES, PROP_ASCENDING_ORDER, PROP_CERTIFICATE, PROP_CHANGETYPE, PROP_CHANGETYPES, PROP_COMPLETE, PROP_COOKIE, PROP_COUNT_LIMIT, PROP_CREATE_TIMESTAMP, PROP_DATA_TYPE, PROP_DEFAULT_PARENT, PROP_DELETE_DESCENDANTS, PROP_ENTITY_NAME, PROP_ENTITY_TYPE_NAME, PROP_ENTITY_TYPE_NAMES, PROP_EXTERNAL_ID, PROP_EXTERNAL_NAME, PROP_HAS_MORE_RESULTS, PROP_IN_GROUP, PROP_KEY, PROP_LANG, PROP_LEVEL, PROP_LEVEL_IMMEDIATE, PROP_LEVEL_NESTED, PROP_MAPPED_PROPERTIES, PROP_MODIFY_MODE, PROP_MODIFY_TIMESTAMP, PROP_MULTI_VALUED, PROP_NAME, PROP_NS_PREFIX, PROP_NS_URI, PROP_PARENT_ENTITY_NAME, PROP_PASSWORD, PROP_PRINCIPAL_NAME, PROP_PROPERTIES, PROP_PROPERTY_NAME, PROP_PROPERTY_NAMES, PROP_RDN_PROPERTY, PROP_REALM, PROP_REPOSITORY_CHECKPOINT, PROP_REPOSITORY_ID, PROP_REQUIRED_ENTITY_TYPE_NAMES, PROP_REQUIRED_INTERACTION_STYLE, PROP_RETURN_DELETED, PROP_RETURN_SUB_TYPE, PROP_SEARCH_BASES, PROP_SEARCH_EXPRESSION, PROP_SEARCH_LIMIT, PROP_SIZE, PROP_SORT_LOCALE, PROP_TICKET, PROP_TIME_LIMIT, PROP_TOTAL_SIZE, PROP_TREEVIEW, PROP_UNIQUE_ID, PROP_UNIQUE_NAME, PROP_VALIDATED, PROP_VALUE, PROP_VALUE_LENGTH, PROP_VALUES, PROP_VIEW_ENTRY_NAME, PROP_VIEW_ENTRY_UNIQUE_ID, PROP_VIEW_NAME, PROP_WMM_ADAPTER_CLASS_NAME, SYNC_MODE, SYNC_OR_ASYNC_MODE, TYPE_CONTEXT, TYPE_ENTITY, TYPE_GROUP, TYPE_IDENTIFIER, TYPE_LOGIN_ACCOUNT, TYPE_META_DATA, TYPE_ORG_CONTAINER, TYPE_PERSON, TYPE_PERSON_ACCOUNT, VALUE_ALL_PROPERTIES, VALUE_CONTEXT_REALM_KEY, VALUE_CONTEXT_TRUST_ENTITY_TYPE_KEY, VALUE_MODIFY_MODE_ASSIGN, VALUE_MODIFY_MODE_REPLACE, VALUE_MODIFY_MODE_UNASSIGN, VALUE_WILD_CARD, WIM_MODEL_PACKAGE, WIM_NS_PREFIX, WIM_NS_URI
 
Method Summary
 commonj.sdo.DataObject createDataObject(java.lang.String nsURI, java.lang.String typeName)
          Creates an empty data object of the given name space URI and type name.
 commonj.sdo.DataObject createRootDataObject()
          Creates an empty root data object of virtual member manager.
 commonj.sdo.DataObject createSchema(commonj.sdo.DataObject root)
          Creates the schema of new entity types and property types at runtime.
 byte[] getEPackages(java.lang.String nsURI)
          Returns the schema package from the given namespace URI in byte array form.
 commonj.sdo.DataObject getSchema(commonj.sdo.DataObject root)
          Retrieves the schema of entity types and property types.
 

Method Detail

getEPackages

byte[] getEPackages(java.lang.String nsURI)
                    throws WIMException,
                           java.rmi.RemoteException
Returns the schema package from the given namespace URI in byte array form. For example, to return build-in schema package of virtual member manager, the namespace URI is "http://www.ibm.com/websphere/wim" (SchemaConstants.WIM_NS_URI). to return build-in configuration schema package of virtual member manager, the namespace URI is "http://www.ibm.com/websphere/wim/config ((ConfigConstants.WIM_CONFIG_NS_URI)". Byte array form of the schema package can be converted back to the EPackage form. The EPackage provides the vehicle for describing the schema of data graph. Since byte array is serializable, this method can be used by remote clients to retrieve schema packages from service and register them in the local JVM.

Parameters:
nsURI - The name space URI of the schema package. If nsURI is null, all schema packages related to virtual member manager will be returned, including build-in schema packge and custom schema packages.
Throws:
WIMException
java.rmi.RemoteException
Return:
Byte array form of the schema package(s).

createSchema

commonj.sdo.DataObject createSchema(commonj.sdo.DataObject root)
                                    throws WIMException,
                                           java.rmi.RemoteException
Creates the schema of new entity types and property types at runtime.

Parameters:
root - The input root data object which contains the information of the new entity and property types. A schema data object is needed under root which contains PropertySchema or EntitySchema.

A sample data graph for createSchema:

 <Root>
  <schema>>
   <propertySchema nsPrefix="yourext" nsURI="http://www.yourco.com/yourext" dataType="String"
     multiValued="true" propertyName="cellPhone6">
   <applicableEntityTypeNames>Person</applicableEntityTypeNames>
   <metaData name="repositoryPropertyName3">
     <values>cellularTelephoneNumber3</values>
   </metaData>
  </propertySchema>
  </schema>
 </Root>
 
For detail, please refer to the developer guideline.
Throws:
WIMException
java.rmi.RemoteException
Return:
The output root data object which contains the new types created and repositories which supports the new types.

getSchema

commonj.sdo.DataObject getSchema(commonj.sdo.DataObject root)
                                 throws WIMException,
                                        java.rmi.RemoteException
Retrieves the schema of entity types and property types.

Parameters:
root - The input root data object which contains the request controls. One of the following control is needed in the input data graph.
  • DataTypeControl: retrieve the supported data types. If repositoryId is not specified, the supported data types at virtual member manager level will be returned.
  • ExtensionPropertyDataTypeControl: retrieve the supported data types of the property extension repository
  • EntityTypeControl: retrieve the Entity schema
  • PropertyDefinitionControl: retrieve the property schema. If repositoryId is not specified, the virtual member manager level schema will be returned. EntityTypeName is mandatory. If no properties specified, the schema for all supported properties will be returned.
  • ExtensionPropertyDefinitionControl: retrieve property schema of the property extension repository.
  • A sample data graph for getSchema:

     <?xml version="1.0" encoding="UTF-8"?>
     <sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns="http://www.ibm.com/websphere/wim" xmlns:sdo="commonj.sdo">
     <Root>
      <controls xsi:type="PropertyDefinitionControl" repositoryId="LDAP1" entityTypeName="PersonAccount"/>
     </Root>
     </sdo:datagraph>
     
    Refer to the developer guideline for detail.
    Throws:
    WIMException
    java.rmi.RemoteException
    Return:
    The output root data object which contains the requested schemas.

    createDataObject

    commonj.sdo.DataObject createDataObject(java.lang.String nsURI,
                                            java.lang.String typeName)
                                            throws WIMException,
                                                   java.rmi.RemoteException
    Creates an empty data object of the given name space URI and type name.

    Parameters:
    nsURI - The name space URI of the type.
    typeName - The name of the type.
    Throws:
    WIMException
    java.rmi.RemoteException
    Return:
    An empty data object of the given name space URI and type name.

    createRootDataObject

    commonj.sdo.DataObject createRootDataObject()
                                                throws WIMException,
                                                       java.rmi.RemoteException
    Creates an empty root data object of virtual member manager. All entity, control and context data objects should be contained under the root data object.
    For example, the following code creates a Person data object and adds it under the root data object.
     DataObject root = service.getRootDataObject();
     DataObject person = root.createDataObject("entities", "http://www.ibm.com/websphere/wim", "Person");
     
    The root data object can be used by client applications to build the input data object. An obvious use is to build input data object for creating entity through the create API.

    Throws:
    WIMException
    java.rmi.RemoteException
    Return:
    An empty root data object of virtual member manager.