<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_22) on Fri Jan 21 21:47:01 GMT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Uses of Class org.apache.aries.application.management.UpdateException (Apache Aries Application API 0.3-SNAPSHOT API)
</TITLE>

<META NAME="date" CONTENT="2011-01-21">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Uses of Class org.apache.aries.application.management.UpdateException (Apache Aries Application API 0.3-SNAPSHOT API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/aries/application/management//class-useUpdateException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="UpdateException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<CENTER>
<H2>
<B>Uses of Class<br>org.apache.aries.application.management.UpdateException</B></H2>
</CENTER>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Packages that use <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.apache.aries.application.management"><B>org.apache.aries.application.management</B></A></TD>
<TD>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.apache.aries.application.management.spi.framework"><B>org.apache.aries.application.management.spi.framework</B></A></TD>
<TD>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.apache.aries.application.management.spi.runtime"><B>org.apache.aries.application.management.spi.runtime</B></A></TD>
<TD>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><A HREF="#org.apache.aries.application.management.spi.update"><B>org.apache.aries.application.management.spi.update</B></A></TD>
<TD>&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="org.apache.aries.application.management"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A> in <A HREF="../../../../../../org/apache/aries/application/management/package-summary.html">org.apache.aries.application.management</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/aries/application/management/package-summary.html">org.apache.aries.application.management</A> that throw <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/apache/aries/application/management/AriesApplicationContext.html" title="interface in org.apache.aries.application.management">AriesApplicationContext</A></CODE></FONT></TD>
<TD><CODE><B>AriesApplicationManager.</B><B><A HREF="../../../../../../org/apache/aries/application/management/AriesApplicationManager.html#update(org.apache.aries.application.management.AriesApplication, org.apache.aries.application.DeploymentMetadata)">update</A></B>(<A HREF="../../../../../../org/apache/aries/application/management/AriesApplication.html" title="interface in org.apache.aries.application.management">AriesApplication</A>&nbsp;app,
       <A HREF="../../../../../../org/apache/aries/application/DeploymentMetadata.html" title="interface in org.apache.aries.application">DeploymentMetadata</A>&nbsp;depMf)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update an application's deployment and apply the changes to the runtime if the application is deployed</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="org.apache.aries.application.management.spi.framework"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A> in <A HREF="../../../../../../org/apache/aries/application/management/spi/framework/package-summary.html">org.apache.aries.application.management.spi.framework</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/aries/application/management/spi/framework/package-summary.html">org.apache.aries.application.management.spi.framework</A> that throw <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>BundleFrameworkManager.</B><B><A HREF="../../../../../../org/apache/aries/application/management/spi/framework/BundleFrameworkManager.html#updateBundles(org.apache.aries.application.DeploymentMetadata, org.apache.aries.application.DeploymentMetadata, org.apache.aries.application.management.AriesApplication, org.apache.aries.application.management.spi.framework.BundleFrameworkManager.BundleLocator, java.util.Set, boolean)">updateBundles</A></B>(<A HREF="../../../../../../org/apache/aries/application/DeploymentMetadata.html" title="interface in org.apache.aries.application">DeploymentMetadata</A>&nbsp;newMetadata,
              <A HREF="../../../../../../org/apache/aries/application/DeploymentMetadata.html" title="interface in org.apache.aries.application">DeploymentMetadata</A>&nbsp;oldMetadata,
              <A HREF="../../../../../../org/apache/aries/application/management/AriesApplication.html" title="interface in org.apache.aries.application.management">AriesApplication</A>&nbsp;app,
              <A HREF="../../../../../../org/apache/aries/application/management/spi/framework/BundleFrameworkManager.BundleLocator.html" title="interface in org.apache.aries.application.management.spi.framework">BundleFrameworkManager.BundleLocator</A>&nbsp;locator,
              <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A>&lt;<A HREF="http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Bundle.html?is-external=true" title="class or interface in org.osgi.framework">Bundle</A>&gt;&nbsp;bundles,
              boolean&nbsp;startBundles)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="org.apache.aries.application.management.spi.runtime"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A> in <A HREF="../../../../../../org/apache/aries/application/management/spi/runtime/package-summary.html">org.apache.aries.application.management.spi.runtime</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/aries/application/management/spi/runtime/package-summary.html">org.apache.aries.application.management.spi.runtime</A> that throw <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/apache/aries/application/management/AriesApplicationContext.html" title="interface in org.apache.aries.application.management">AriesApplicationContext</A></CODE></FONT></TD>
<TD><CODE><B>AriesApplicationContextManager.</B><B><A HREF="../../../../../../org/apache/aries/application/management/spi/runtime/AriesApplicationContextManager.html#update(org.apache.aries.application.management.AriesApplication, org.apache.aries.application.DeploymentMetadata)">update</A></B>(<A HREF="../../../../../../org/apache/aries/application/management/AriesApplication.html" title="interface in org.apache.aries.application.management">AriesApplication</A>&nbsp;app,
       <A HREF="../../../../../../org/apache/aries/application/DeploymentMetadata.html" title="interface in org.apache.aries.application">DeploymentMetadata</A>&nbsp;oldMetadata)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update the AriesApplication and return an updated application context.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<A NAME="org.apache.aries.application.management.spi.update"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
Uses of <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A> in <A HREF="../../../../../../org/apache/aries/application/management/spi/update/package-summary.html">org.apache.aries.application.management.spi.update</A></FONT></TH>
</TR>
</TABLE>
&nbsp;
<P>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../../org/apache/aries/application/management/spi/update/package-summary.html">org.apache.aries.application.management.spi.update</A> that throw <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management">UpdateException</A></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B>UpdateStrategy.</B><B><A HREF="../../../../../../org/apache/aries/application/management/spi/update/UpdateStrategy.html#update(org.apache.aries.application.management.spi.update.UpdateStrategy.UpdateInfo)">update</A></B>(<A HREF="../../../../../../org/apache/aries/application/management/spi/update/UpdateStrategy.UpdateInfo.html" title="interface in org.apache.aries.application.management.spi.update">UpdateStrategy.UpdateInfo</A>&nbsp;paramUpdateInfo)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update an application</TD>
</TR>
</TABLE>
&nbsp;
<P>
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../org/apache/aries/application/management/UpdateException.html" title="class in org.apache.aries.application.management"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/aries/application/management//class-useUpdateException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="UpdateException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2009-2011 <a href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
