You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/02/10 17:18:43 UTC
cvs commit: avalon/merlin/activation/api/src/java/org/apache/avalon/activation/lifestyle LifestyleException.java LifestyleRuntimeException.java package.html
mcconnell 2004/02/10 08:18:43
Modified: merlin/activation/api project.xml
Added: merlin/activation/api/src/java/org/apache/avalon/activation
Appliance.java ApplianceException.java
ApplianceRuntimeException.java
ComponentFactory.java LifecycleException.java
LifestyleFactory.java LifestyleManager.java
LifestyleRuntimeException.java RuntimeFactory.java
Removed: merlin/activation/api/src/java/org/apache/avalon/activation/appliance
Appliance.java ApplianceEvent.java
ApplianceException.java ApplianceListener.java
ApplianceRuntimeException.java
AssemblyException.java Block.java
CascadingIOException.java DeploymentException.java
DuplicateApplianceException.java Engine.java
FatalDeploymentException.java
NoProviderDefinitionException.java
UnknownServiceException.java package.html
merlin/activation/api/src/java/org/apache/avalon/activation/lifecycle
ContextualizationHandler.java
LifecycleCreateExtension.java
LifecycleDestroyExtension.java
LifecycleException.java
LifecycleRuntimeException.java package.html
merlin/activation/api/src/java/org/apache/avalon/activation/lifestyle
LifestyleException.java
LifestyleRuntimeException.java package.html
Log:
Add support for plugable runtime implementation.
Revision Changes Path
1.8 +1 -1 avalon/merlin/activation/api/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/api/project.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- project.xml 13 Jan 2004 11:41:22 -0000 1.7
+++ project.xml 10 Feb 2004 16:18:42 -0000 1.8
@@ -27,7 +27,7 @@
<dependency>
<groupId>avalon-meta</groupId>
<artifactId>avalon-meta-api</artifactId>
- <version>1.3</version>
+ <version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-composition</groupId>
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/Appliance.java
Index: Appliance.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
import org.apache.avalon.composition.model.Commissionable;
import org.apache.avalon.composition.model.DeploymentModel;
import org.apache.avalon.composition.model.Resolver;
/**
* An Appliance is the basic tool merlin wraps around a component to
* provide support for lifecycle and lifestyle management. Different
* implementations of Appliance can be plugged into the merlin system
* to allow merlin to manage a variety of components.
*
* The name appliance is used to call up an association with a kitchen
* utility like a microwave. Merlin acts as a chef in his kitchen, and uses
* various appliances to "cook up" various components as the restaurant
* customers (which can be other components or systems on the other end
* on the planet) ask for them.
*
* An appliance manages the establishment of a component
* type relative to a deployment criteria. Once established, an appliance
* provides support for the deployment of component instances on request.
* An appliance is responsible for component lifestyle and lifecycle
* management during the deployment and decommission cycles.
*
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public interface Appliance extends Commissionable, Resolver
{
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/ApplianceException.java
Index: ApplianceException.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
import org.apache.avalon.framework.CascadingException;
/**
* Exception to indicate that there was a appliance related error.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public class ApplianceException
extends CascadingException
{
/**
* Construct a new <code>ApplianceException</code> instance.
*
* @param message The detail message for this exception.
*/
public ApplianceException( final String message )
{
this( message, null );
}
/**
* Construct a new <code>ApplianceException</code> instance.
*
* @param message The detail message for this exception.
* @param throwable the root cause of the exception
*/
public ApplianceException( final String message, final Throwable throwable )
{
super( message, throwable );
}
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/ApplianceRuntimeException.java
Index: ApplianceRuntimeException.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
import org.apache.avalon.framework.CascadingRuntimeException;
/**
* Exception to indicate that there was an appliance related runtime error.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public class ApplianceRuntimeException
extends CascadingRuntimeException
{
/**
* Construct a new <code>ApplianceRuntimeException</code> instance.
*
* @param message The detail message for this exception.
*/
public ApplianceRuntimeException( final String message )
{
this( message, null );
}
/**
* Construct a new <code>ApplianceRuntimeException</code> instance.
*
* @param message The detail message for this exception.
* @param throwable the root cause of the exception
*/
public ApplianceRuntimeException( final String message, final Throwable throwable )
{
super( message, throwable );
}
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/ComponentFactory.java
Index: ComponentFactory.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
import org.apache.avalon.composition.model.DeploymentModel;
/**
* A factory that provides object instantiation. A instance factory will
* typically encapsulate component constuction semantic, lifecycle processing
* and end-of-life processing.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public interface ComponentFactory
{
/**
* Creation of a new instance including all deployment stage handling.
* @return the new instance
*/
Object incarnate() throws Exception;
/**
* Termination of the instance including all end-of-life processing.
* @param instance the component instance
*/
void etherialize( Object instance );
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/LifecycleException.java
Index: LifecycleException.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
/**
* Exception to indicate that there was a lifecycle related error.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public class LifecycleException
extends ApplianceException
{
/**
* Construct a new <code>LifecycleException</code> instance.
*
* @param message The detail message for this exception.
*/
public LifecycleException( final String message )
{
this( message, null );
}
/**
* Construct a new <code>LifecycleException</code> instance.
*
* @param message The detail message for this exception.
* @param throwable the root cause of the exception
*/
public LifecycleException( final String message, final Throwable throwable )
{
super( message, throwable );
}
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/LifestyleFactory.java
Index: LifestyleFactory.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
import org.apache.avalon.composition.model.ComponentModel;
/**
* A factory enabling the establishment of runtime handlers.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public interface LifestyleFactory
{
/**
* Create a new lifestyle manager.
* @param model the component model
* @return the runtime appliance
*/
LifestyleManager createLifestyleManager( ComponentModel model );
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/LifestyleManager.java
Index: LifestyleManager.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
import org.apache.avalon.composition.model.Commissionable;
import org.apache.avalon.composition.model.Resolver;
/**
* A lifestyle handler provides support for a particular lifestyle policy.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public interface LifestyleManager extends Commissionable, Resolver
{
/**
* Release and finalize the supplied object.
*
* @param instance the object to be released
*/
void finalize( Object instance );
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/LifestyleRuntimeException.java
Index: LifestyleRuntimeException.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
/**
* Exception to indicate that there was an lifestyle related runtime error.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public final class LifestyleRuntimeException
extends ApplianceRuntimeException
{
/**
* Construct a new <code>LifestyleRuntimeException</code> instance.
*
* @param message The detail message for this exception.
*/
public LifestyleRuntimeException( final String message )
{
this( message, null );
}
/**
* Construct a new <code>LifestyleRuntimeException</code> instance.
*
* @param message The detail message for this exception.
* @param throwable the root cause of the exception
*/
public LifestyleRuntimeException( final String message, final Throwable throwable )
{
super( message, throwable );
}
}
1.1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/RuntimeFactory.java
Index: RuntimeFactory.java
===================================================================
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.avalon.activation;
import org.apache.avalon.composition.model.DeploymentModel;
/**
* A factory enabling the establishment of runtime handlers.
*
* @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision: 1.1 $ $Date: 2004/02/10 16:18:42 $
*/
public interface RuntimeFactory
{
/**
* Resolve a runtime handler for a model.
* @param model the deployment model
* @return the runtime appliance
*/
Appliance getRuntime( DeploymentModel model );
}
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org