<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_11) on Fri Apr 26 11:28:38 CEST 2013 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>ModelService (midPoint Project 2.2-SNAPSHOT API)</title>
<meta name="date" content="2013-04-26">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ModelService (midPoint Project 2.2-SNAPSHOT API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ModelService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/evolveum/midpoint/model/api/ModelPort.html" title="interface in com.evolveum.midpoint.model.api"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/evolveum/midpoint/model/api/PolicyViolationException.html" title="class in com.evolveum.midpoint.model.api"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/evolveum/midpoint/model/api/ModelService.html" target="_top">Frames</a></li>
<li><a href="ModelService.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li>Constr | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.evolveum.midpoint.model.api</div>
<h2 title="Interface ModelService" class="title">Interface ModelService</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../com/evolveum/midpoint/model/controller/ModelController.html" title="class in com.evolveum.midpoint.model.controller">ModelController</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">ModelService</span></pre>
<div class="block"><p>
 IDM Model Interface
 </p>
 <p>
 IDM Model Interface provides access unified to the identity objects stored in
 the repository and on the resources. It abstracts away the details about
 where and how are the data stored, it hides all the low-level system
 components.
 </p>
 <p>
 Implementation of this interface are expected to enforce a consistency of
 access control decisions and model, e.g. to enforce Role-Based Access Control
 (RBAC). RBAC is only one of many possibly models and this interface may have
 many implementations.
 </p>
 <p>
 Implementations of this interface may automatically derive properties and
 attributes for objects. E.g. RBAC models may automatically derive resource
 accounts attributes based on user role membership.
 </p></div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>lazyman, Radovan Semancik</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#CLASS_NAME_WITH_DOT">CLASS_NAME_WITH_DOT</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#COUNT_OBJECTS">COUNT_OBJECTS</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#DISCOVER_CONNECTORS">DISCOVER_CONNECTORS</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#EXECUTE_CHANGES">EXECUTE_CHANGES</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#GET_OBJECT">GET_OBJECT</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#GET_PROPERTY_AVAILABLE_VALUES">GET_PROPERTY_AVAILABLE_VALUES</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#IMPORT_ACCOUNTS_FROM_RESOURCE">IMPORT_ACCOUNTS_FROM_RESOURCE</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#IMPORT_OBJECTS_FROM_FILE">IMPORT_OBJECTS_FROM_FILE</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#IMPORT_OBJECTS_FROM_STREAM">IMPORT_OBJECTS_FROM_STREAM</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#LIST_ACCOUNT_SHADOW_OWNER">LIST_ACCOUNT_SHADOW_OWNER</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#LIST_OBJECTS">LIST_OBJECTS</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#LIST_RESOURCE_OBJECT_SHADOWS">LIST_RESOURCE_OBJECT_SHADOWS</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#LIST_RESOURCE_OBJECTS">LIST_RESOURCE_OBJECTS</a></strong></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#POST_INIT">POST_INIT</a></strong></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#TEST_RESOURCE">TEST_RESOURCE</a></strong></code> </td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><T extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType> <br>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#countObjects(java.lang.Class, com.evolveum.midpoint.prism.query.ObjectQuery, java.util.Collection, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">countObjects</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> type,
            <a href="../../../../../com/evolveum/midpoint/prism/query/ObjectQuery.html" title="class in com.evolveum.midpoint.prism.query">ObjectQuery</a> query,
            <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/schema/SelectorOptions.html" title="class in com.evolveum.midpoint.schema">SelectorOptions</a><<a href="../../../../../com/evolveum/midpoint/schema/GetOperationOptions.html" title="class in com.evolveum.midpoint.schema">GetOperationOptions</a>>> options,
            <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
            <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><com.evolveum.midpoint.xml.ns._public.common.common_2a.ConnectorType></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#discoverConnectors(com.evolveum.midpoint.xml.ns._public.common.common_2a.ConnectorHostType, com.evolveum.midpoint.schema.result.OperationResult)">discoverConnectors</a></strong>(com.evolveum.midpoint.xml.ns._public.common.common_2a.ConnectorHostType hostType,
                  <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">Discovers local or remote connectors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#executeChanges(java.util.Collection, com.evolveum.midpoint.model.api.ModelExecuteOptions, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">executeChanges</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/prism/delta/ObjectDelta.html" title="class in com.evolveum.midpoint.prism.delta">ObjectDelta</a><? extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType>> deltas,
              <a href="../../../../../com/evolveum/midpoint/model/api/ModelExecuteOptions.html" title="class in com.evolveum.midpoint.model.api">ModelExecuteOptions</a> options,
              <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
              <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">
 Execute the provided object deltas.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><com.evolveum.midpoint.xml.ns._public.common.common_2a.UserType></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#findShadowOwner(java.lang.String, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">findShadowOwner</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> accountOid,
               <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
               <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">
 Returns the User object representing owner of specified account (account
 shadow).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><T extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType> <br><a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><T></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#getObject(java.lang.Class, java.lang.String, java.util.Collection, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">getObject</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> type,
         <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> oid,
         <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/schema/SelectorOptions.html" title="class in com.evolveum.midpoint.schema">SelectorOptions</a><<a href="../../../../../com/evolveum/midpoint/schema/GetOperationOptions.html" title="class in com.evolveum.midpoint.schema">GetOperationOptions</a>>> options,
         <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
         <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> result)</code>
<div class="block">
 Returns object for provided OID.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#importFromResource(java.lang.String, javax.xml.namespace.QName, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">importFromResource</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> resourceOid,
                  <a href="http://docs.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a> objectClass,
                  <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                  <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">
 Import accounts from resource.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#importObjectsFromFile(java.io.File, com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">importObjectsFromFile</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> input,
                     com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType options,
                     <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                     <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">Import objects from file.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#importObjectsFromStream(java.io.InputStream, com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">importObjectsFromStream</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> input,
                       com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType options,
                       <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                       <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">Import objects from stream.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><? extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ShadowType>></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#listResourceObjects(java.lang.String, javax.xml.namespace.QName, com.evolveum.midpoint.prism.query.ObjectPaging, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">listResourceObjects</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> resourceOid,
                   <a href="http://docs.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a> objectClass,
                   <a href="../../../../../com/evolveum/midpoint/prism/query/ObjectPaging.html" title="class in com.evolveum.midpoint.prism.query">ObjectPaging</a> paging,
                   <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                   <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> result)</code>
<div class="block">
 Returns all resource objects of specified type that are currently
 available to the system.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#postInit(com.evolveum.midpoint.schema.result.OperationResult)">postInit</a></strong>(<a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">Finish initialization of the model and lower system components
 (provisioning, repository, etc).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><T extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType> <br><a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><T>></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#searchObjects(java.lang.Class, com.evolveum.midpoint.prism.query.ObjectQuery, java.util.Collection, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">searchObjects</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> type,
             <a href="../../../../../com/evolveum/midpoint/prism/query/ObjectQuery.html" title="class in com.evolveum.midpoint.prism.query">ObjectQuery</a> query,
             <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/schema/SelectorOptions.html" title="class in com.evolveum.midpoint.schema">SelectorOptions</a><<a href="../../../../../com/evolveum/midpoint/schema/GetOperationOptions.html" title="class in com.evolveum.midpoint.schema">GetOperationOptions</a>>> options,
             <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
             <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</code>
<div class="block">
 Search for objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/evolveum/midpoint/model/api/ModelService.html#testResource(java.lang.String, com.evolveum.midpoint.task.api.Task)">testResource</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> resourceOid,
            <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task)</code>
<div class="block">
 Test the resource connection and basic resource connector functionality.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="CLASS_NAME_WITH_DOT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLASS_NAME_WITH_DOT</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CLASS_NAME_WITH_DOT</pre>
</li>
</ul>
<a name="GET_OBJECT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GET_OBJECT</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> GET_OBJECT</pre>
</li>
</ul>
<a name="COUNT_OBJECTS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COUNT_OBJECTS</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COUNT_OBJECTS</pre>
</li>
</ul>
<a name="EXECUTE_CHANGES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EXECUTE_CHANGES</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> EXECUTE_CHANGES</pre>
</li>
</ul>
<a name="GET_PROPERTY_AVAILABLE_VALUES">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GET_PROPERTY_AVAILABLE_VALUES</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> GET_PROPERTY_AVAILABLE_VALUES</pre>
</li>
</ul>
<a name="LIST_OBJECTS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LIST_OBJECTS</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LIST_OBJECTS</pre>
</li>
</ul>
<a name="LIST_ACCOUNT_SHADOW_OWNER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LIST_ACCOUNT_SHADOW_OWNER</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LIST_ACCOUNT_SHADOW_OWNER</pre>
</li>
</ul>
<a name="LIST_RESOURCE_OBJECT_SHADOWS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LIST_RESOURCE_OBJECT_SHADOWS</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LIST_RESOURCE_OBJECT_SHADOWS</pre>
</li>
</ul>
<a name="LIST_RESOURCE_OBJECTS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LIST_RESOURCE_OBJECTS</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LIST_RESOURCE_OBJECTS</pre>
</li>
</ul>
<a name="TEST_RESOURCE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEST_RESOURCE</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TEST_RESOURCE</pre>
</li>
</ul>
<a name="IMPORT_ACCOUNTS_FROM_RESOURCE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IMPORT_ACCOUNTS_FROM_RESOURCE</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> IMPORT_ACCOUNTS_FROM_RESOURCE</pre>
</li>
</ul>
<a name="IMPORT_OBJECTS_FROM_FILE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IMPORT_OBJECTS_FROM_FILE</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> IMPORT_OBJECTS_FROM_FILE</pre>
</li>
</ul>
<a name="IMPORT_OBJECTS_FROM_STREAM">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IMPORT_OBJECTS_FROM_STREAM</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> IMPORT_OBJECTS_FROM_STREAM</pre>
</li>
</ul>
<a name="POST_INIT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>POST_INIT</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> POST_INIT</pre>
</li>
</ul>
<a name="DISCOVER_CONNECTORS">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DISCOVER_CONNECTORS</h4>
<pre>static final <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DISCOVER_CONNECTORS</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getObject(java.lang.Class, java.lang.String, java.util.Collection, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObject</h4>
<pre><T extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType> <a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><T> getObject(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> type,
                                                                                                    <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> oid,
                                                                                                    <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/schema/SelectorOptions.html" title="class in com.evolveum.midpoint.schema">SelectorOptions</a><<a href="../../../../../com/evolveum/midpoint/schema/GetOperationOptions.html" title="class in com.evolveum.midpoint.schema">GetOperationOptions</a>>> options,
                                                                                                    <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                                                                                                    <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> result)
                                                                                                  throws <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a>,
                                                                                                         <a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a>,
                                                                                                         <a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></pre>
<div class="block"><p>
 Returns object for provided OID.
 </p>
 <p>
 Must fail if object with the OID does not exists.
 </p></div>
<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - </dd><dt><span class="strong">Parameters:</span></dt><dd><code>oid</code> - OID of the object to get</dd><dd><code>resolve</code> - list of properties to resolve in the fetched object</dd><dd><code>type</code> - (class) of an object to get</dd><dd><code>result</code> - parent OperationResult (in/out)</dd>
<dt><span class="strong">Returns:</span></dt><dd>Retrieved object</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code> - requested object does not exist</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a></code> - the object is not schema compliant</dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - missing required parameter, wrong OID format, etc.</dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - OID represents object of a type incompatible with requested
             type</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SystemException.html" title="class in com.evolveum.midpoint.util.exception">SystemException</a></code> - unknown error from underlying layers or other unexpected
             state</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></code></dd></dl>
</li>
</ul>
<a name="executeChanges(java.util.Collection, com.evolveum.midpoint.model.api.ModelExecuteOptions, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeChanges</h4>
<pre>void executeChanges(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/prism/delta/ObjectDelta.html" title="class in com.evolveum.midpoint.prism.delta">ObjectDelta</a><? extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType>> deltas,
                  <a href="../../../../../com/evolveum/midpoint/model/api/ModelExecuteOptions.html" title="class in com.evolveum.midpoint.model.api">ModelExecuteOptions</a> options,
                  <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                  <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)
                    throws <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectAlreadyExistsException.html" title="class in com.evolveum.midpoint.util.exception">ObjectAlreadyExistsException</a>,
                           <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a>,
                           <a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a>,
                           <a href="../../../../../com/evolveum/midpoint/util/exception/ExpressionEvaluationException.html" title="class in com.evolveum.midpoint.util.exception">ExpressionEvaluationException</a>,
                           <a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a>,
                           <a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a>,
                           <a href="../../../../../com/evolveum/midpoint/model/api/PolicyViolationException.html" title="class in com.evolveum.midpoint.model.api">PolicyViolationException</a>,
                           <a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></pre>
<div class="block"><p>
 Execute the provided object deltas.
 </p>
 <p>
 The operation executes the provided object deltas. All deltas must relate to analogous objects (e.g. user
 and linked accounts). The implementation may throw an error if the objects are not analogous. The implementation
 also implicitly links the objects (mark them to be analogous) if such a link is part of the data model.
 E.g. the implementation links all accounts to the user if they are passed in a single delta collection.
 This is especially useful if the account deltas are ADD deltas without OID and therefore cannot be linked
 explicitly. 
 </p>
 <p>
 There must be no more than one delta for each object.
 The order of execution is not defined and the implementation is free to determine the correct or most suitable ordering.
 </p>
 <p>
 The OID provided in ADD deltas may be empty. In that case the OID
 will be assigned by the implementation and the OIDs will be set in the
 deltas after the operation is completed.
 </p>
 <p>
 Execution of ADD deltas should fail if such object already exists (if object with
 the provided OID already exists). Execution of MODIFY and DELETE deltas should fail if
 such objects do not exist.
 </p>
 <p>
 The operation may fail if provided OIDs are in an unusable format for the
 storage. Generating own OIDs and providing them to this method is not
 recommended for normal operation.
 </p>
 <p>
 There are no explicit atomicity guarantees for the operations. Some of the operations may pass, some may fail
 or even fail partially. The consistency of the data and state are not based on operation atomicity but rather
 a data model that can "repair" inconsistencies.
 </p>
 <p>
 The operation may fail if any of the objects to be created or modified does not conform to
 the underlying schema of the storage system or the schema enforced by the implementation.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>deltas</code> - Collection of object deltas to execute</dd><dd><code>parentResult</code> - parent OperationResult (in/out)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectAlreadyExistsException.html" title="class in com.evolveum.midpoint.util.exception">ObjectAlreadyExistsException</a></code> - object with specified identifiers already exists, cannot add</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code> - object required to complete the operation was not found (e.g.
             appropriate connector or resource definition)</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a></code> - error dealing with resource schema, e.g. created object does
             not conform to schema</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ExpressionEvaluationException.html" title="class in com.evolveum.midpoint.util.exception">ExpressionEvaluationException</a></code> - evaluation of expression associated with the object has failed</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/model/api/PolicyViolationException.html" title="class in com.evolveum.midpoint.model.api">PolicyViolationException</a></code> - Policy violation was detected during processing of the object</dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - wrong OID format, etc.</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SystemException.html" title="class in com.evolveum.midpoint.util.exception">SystemException</a></code> - unknown error from underlying layers or other unexpected
             state</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></code></dd></dl>
</li>
</ul>
<a name="findShadowOwner(java.lang.String, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findShadowOwner</h4>
<pre><a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><com.evolveum.midpoint.xml.ns._public.common.common_2a.UserType> findShadowOwner(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> accountOid,
                                                                                          <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                                                                                          <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)
                                                                                            throws <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></pre>
<div class="block"><p>
 Returns the User object representing owner of specified account (account
 shadow).
 </p>
 <p>
 May return null if there is no owner specified for the account.
 </p>
 <p>
 Implements the backward "owns" association between account shadow and
 user. Forward association is implemented by property "account" of user
 object.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>accountOid</code> - OID of the account to look for an owner</dd><dd><code>parentResult</code> - parent OperationResult (in/out)</dd>
<dt><span class="strong">Returns:</span></dt><dd>owner of the account or null</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code> - specified account was not found</dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - wrong OID format, described change is not applicable</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SystemException.html" title="class in com.evolveum.midpoint.util.exception">SystemException</a></code> - unknown error from underlying layers or other unexpected
             state</dd></dl>
</li>
</ul>
<a name="listResourceObjects(java.lang.String, javax.xml.namespace.QName, com.evolveum.midpoint.prism.query.ObjectPaging, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listResourceObjects</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><? extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ShadowType>> listResourceObjects(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> resourceOid,
                                                                                                                <a href="http://docs.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a> objectClass,
                                                                                                                <a href="../../../../../com/evolveum/midpoint/prism/query/ObjectPaging.html" title="class in com.evolveum.midpoint.prism.query">ObjectPaging</a> paging,
                                                                                                                <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                                                                                                                <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> result)
                                                                                                                  throws <a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a>,
                                                                                                                         <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a>,
                                                                                                                         <a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a>,
                                                                                                                         <a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a>,
                                                                                                                         <a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></pre>
<div class="block"><p>
 Returns all resource objects of specified type that are currently
 available to the system.
 </p>
 <p>
 Returns empty list if object type is correct but there are no objects of
 that type. The operation should fail if object type is wrong (e.g.
 specified type is not part of resource schema).
 </p>
 <p>
 This method does NOT use any repository shadow objects for reference or
 any other business objects in the local repository. It goes directly to
 the resource. The returned objects (indirectly) comply with the resource
 schema, but it is returned re-formated in a form of detached shadow
 object. Although the form is the same as shadow object, this is NOT
 really a shadow object because it is not stored in the repository (it is
 detached). It does NOT have OID.
 </p>
 <p>
 The objects are identified by whatever identification
 properties/attributes are defined by the resource schema.
 </p>
 <p>
 The purpose of this operation is diagnostics. It works directly with the
 resource without the potential problems of underlying implementation.
 E.g. it may be used to test resource connectivity or correctness of
 resource setup. It may also be used to reach object types that are not
 directly supported as "shadows" by the implementation. Therefore this
 method is not required to implement any form of caching, queuing,
 reference resolution or any other "smart" algorithm.
 </p>
 <p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>resourceOid</code> - OID of the resource to fetch objects from</dd><dd><code>objectClass</code> - Object class of the objects to fetch</dd><dd><code>paging</code> - paging specification to limit operation result (optional)</dd><dd><code>result</code> - parent OperationResult (in/out)</dd>
<dt><span class="strong">Returns:</span></dt><dd>resource objects in a form of "detached shadows"</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code> - specified resource object does not exist</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a></code> - error handling resource schema</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a></code> - error communicating with the resource</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></code></dd></dl>
</li>
</ul>
<a name="searchObjects(java.lang.Class, com.evolveum.midpoint.prism.query.ObjectQuery, java.util.Collection, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>searchObjects</h4>
<pre><T extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType> <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../com/evolveum/midpoint/prism/PrismObject.html" title="class in com.evolveum.midpoint.prism">PrismObject</a><T>> searchObjects(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> type,
                                                                                                              <a href="../../../../../com/evolveum/midpoint/prism/query/ObjectQuery.html" title="class in com.evolveum.midpoint.prism.query">ObjectQuery</a> query,
                                                                                                              <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/schema/SelectorOptions.html" title="class in com.evolveum.midpoint.schema">SelectorOptions</a><<a href="../../../../../com/evolveum/midpoint/schema/GetOperationOptions.html" title="class in com.evolveum.midpoint.schema">GetOperationOptions</a>>> options,
                                                                                                              <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                                                                                                              <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)
                                                                                                            throws <a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a>,
                                                                                                                   <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a>,
                                                                                                                   <a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a>,
                                                                                                                   <a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a>,
                                                                                                                   <a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a></pre>
<div class="block"><p>
 Search for objects.
 </p>
 <p>
 Searches through all object types. Returns a list of objects that match
 search criteria.
 </p>
 <p>
 Returns empty list if object type is correct but there are no objects of
 that type.
 </p>
 <p>
 Should fail if object type is wrong. Should fail if unknown property is
 specified in the query.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>query</code> - search query</dd><dd><code>paging</code> - paging specification to limit operation result (optional)</dd><dd><code>parentResult</code> - parent OperationResult (in/out)</dd>
<dt><span class="strong">Returns:</span></dt><dd>all objects of specified type that match search criteria (subject
         to paging)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a></code> - unknown property used in search query</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code> - object required for a search was not found (e.g. resource
             definition)</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a></code> - error communicating with the resource</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a></code></dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - wrong query format</dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></code></dd></dl>
</li>
</ul>
<a name="countObjects(java.lang.Class, com.evolveum.midpoint.prism.query.ObjectQuery, java.util.Collection, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countObjects</h4>
<pre><T extends com.evolveum.midpoint.xml.ns._public.common.common_2a.ObjectType> int countObjects(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><T> type,
                                                                                            <a href="../../../../../com/evolveum/midpoint/prism/query/ObjectQuery.html" title="class in com.evolveum.midpoint.prism.query">ObjectQuery</a> query,
                                                                                            <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><<a href="../../../../../com/evolveum/midpoint/schema/SelectorOptions.html" title="class in com.evolveum.midpoint.schema">SelectorOptions</a><<a href="../../../../../com/evolveum/midpoint/schema/GetOperationOptions.html" title="class in com.evolveum.midpoint.schema">GetOperationOptions</a>>> options,
                                                                                            <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                                                                                            <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)
                 throws <a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a>,
                        <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a>,
                        <a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a>,
                        <a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a>,
                        <a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a></pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ConfigurationException.html" title="class in com.evolveum.midpoint.util.exception">ConfigurationException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a></code></dd></dl>
</li>
</ul>
<a name="testResource(java.lang.String, com.evolveum.midpoint.task.api.Task)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testResource</h4>
<pre><a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> testResource(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> resourceOid,
                           <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task)
                             throws <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></pre>
<div class="block"><p>
 Test the resource connection and basic resource connector functionality.
 </p>
 <p>
 This operation will NOT throw exception in case the resource connection
 fails. It such case it will indicate the failure in the return message,
 but the operation itself succeeds. The operations fails only if the
 provided arguments are wrong, in case of system error, system
 misconfiguration, etc.
 </p>
 <p>
 This returns OperationResult instead of taking it as in/out argument.
 This is different from the other methods. The testResource method is not
 using OperationResult to track its own execution but rather to track the
 execution of resource tests (that in fact happen in provisioning).
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>resourceOid</code> - OID of resource to test</dd>
<dt><span class="strong">Returns:</span></dt><dd>results of executed tests</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code> - specified object does not exist</dd>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - wrong OID format</dd></dl>
</li>
</ul>
<a name="importFromResource(java.lang.String, javax.xml.namespace.QName, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>importFromResource</h4>
<pre>void importFromResource(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> resourceOid,
                      <a href="http://docs.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a> objectClass,
                      <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                      <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)
                        throws <a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a>,
                               <a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a>,
                               <a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></pre>
<div class="block"><p>
 Import accounts from resource.
 </p>
 <p>
 Invocation of this method may be switched to background.
 </p>
 TODO: OperationResult</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SchemaException.html" title="class in com.evolveum.midpoint.util.exception">SchemaException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/ObjectNotFoundException.html" title="class in com.evolveum.midpoint.util.exception">ObjectNotFoundException</a></code></dd>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/SecurityViolationException.html" title="class in com.evolveum.midpoint.util.exception">SecurityViolationException</a></code></dd></dl>
</li>
</ul>
<a name="importObjectsFromFile(java.io.File, com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>importObjectsFromFile</h4>
<pre>void importObjectsFromFile(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> input,
                         com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType options,
                         <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                         <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</pre>
<div class="block">Import objects from file.
 
 Invocation of this method may be switched to background.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - </dd><dd><code>task</code> - </dd></dl>
</li>
</ul>
<a name="importObjectsFromStream(java.io.InputStream, com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType, com.evolveum.midpoint.task.api.Task, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>importObjectsFromStream</h4>
<pre>void importObjectsFromStream(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a> input,
                           com.evolveum.midpoint.xml.ns._public.common.api_types_2.ImportOptionsType options,
                           <a href="../../../../../com/evolveum/midpoint/task/api/Task.html" title="interface in com.evolveum.midpoint.task.api">Task</a> task,
                           <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</pre>
<div class="block">Import objects from stream.
 
 Invocation of this method will happen in foreground, as the stream cannot
 be serialized.
 
 The results will be provided in the task.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - </dd><dd><code>task</code> - </dd></dl>
</li>
</ul>
<a name="discoverConnectors(com.evolveum.midpoint.xml.ns._public.common.common_2a.ConnectorHostType, com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discoverConnectors</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><com.evolveum.midpoint.xml.ns._public.common.common_2a.ConnectorType> discoverConnectors(com.evolveum.midpoint.xml.ns._public.common.common_2a.ConnectorHostType hostType,
                                                                                          <a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)
                                                                                            throws <a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a></pre>
<div class="block">Discovers local or remote connectors.
 
 The operation will try to search for new connectors. It works either on
 local host (hostType is null) or on a remote host (hostType is not null).
 All discovered connectors are stored in the repository.
 
 It returns connectors that were discovered: those that were not in the
 repository before invocation of this operation.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>hostType</code> - definition of a connector host or null</dd><dd><code>parentResult</code> - parentResult parent OperationResult (in/out)</dd>
<dt><span class="strong">Returns:</span></dt><dd>discovered connectors</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../com/evolveum/midpoint/util/exception/CommunicationException.html" title="class in com.evolveum.midpoint.util.exception">CommunicationException</a></code> - error communicating with the connector host</dd></dl>
</li>
</ul>
<a name="postInit(com.evolveum.midpoint.schema.result.OperationResult)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>postInit</h4>
<pre>void postInit(<a href="../../../../../com/evolveum/midpoint/schema/result/OperationResult.html" title="class in com.evolveum.midpoint.schema.result">OperationResult</a> parentResult)</pre>
<div class="block">Finish initialization of the model and lower system components
 (provisioning, repository, etc).
 
 The implementation may execute resource-intensive tasks in this method.
 All the dependencies should be already constructed, properly wired and
 initialized. Also logging and other infrastructure should be already set
 up.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ModelService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/evolveum/midpoint/model/api/ModelPort.html" title="interface in com.evolveum.midpoint.model.api"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/evolveum/midpoint/model/api/PolicyViolationException.html" title="class in com.evolveum.midpoint.model.api"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/evolveum/midpoint/model/api/ModelService.html" target="_top">Frames</a></li>
<li><a href="ModelService.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li>Constr | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © 2013 <a href="http://www.evolveum.com">evolveum</a>. All Rights Reserved.</small></p>
</body>
</html>