hammett 2004/04/03 15:07:30
Added: avalon-net/Castle/MicroKernel/LifestyleManagers
ILifestyleManager.cs ILifestyleManagerFactory.cs
avalon-net/Castle/MicroKernel/LifestyleManagers/Default
SimpleLifestyleManagerFactory.cs
TransientLifestyleManager.cs
Log:
MicroKernel for Avalon Castle - Improvements.
Revision Changes Path
1.1
avalon-sandbox/avalon-net/Castle/MicroKernel/LifestyleManagers/ILifestyleManager.cs
Index: ILifestyleManager.cs
===================================================================
// Copyright 2004 The 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.
namespace Apache.Avalon.Castle.MicroKernel
{
using System;
/// <summary>
/// Summary description for ILifestyleManager.
/// </summary>
public interface ILifestyleManager : IResolver
{
}
}
1.1
avalon-sandbox/avalon-net/Castle/MicroKernel/LifestyleManagers/ILifestyleManagerFactory.cs
Index: ILifestyleManagerFactory.cs
===================================================================
// Copyright 2004 The 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.
namespace Apache.Avalon.Castle.MicroKernel
{
using System;
using Apache.Avalon.Castle.MicroKernel.Model;
/// <summary>
/// Summary description for ILifestyleManagerFactory.
/// </summary>
public interface ILifestyleManagerFactory
{
ILifestyleManager Create( IComponentFactory factory, IComponentModel
model );
}
}
1.1
avalon-sandbox/avalon-net/Castle/MicroKernel/LifestyleManagers/Default/SimpleLifestyleManagerFactory.cs
Index: SimpleLifestyleManagerFactory.cs
===================================================================
// Copyright 2004 The 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.
namespace Apache.Avalon.Castle.MicroKernel.Lifestyle.Default
{
using System;
using Apache.Avalon.Castle.MicroKernel.Model;
/// <summary>
/// Summary description for SimpleLifestyleManagerFactory.
/// </summary>
public class SimpleLifestyleManagerFactory : ILifestyleManagerFactory
{
public SimpleLifestyleManagerFactory()
{
}
#region ILifestyleManagerFactory Members
public ILifestyleManager Create( IComponentFactory factory,
IComponentModel model )
{
return new TransientLifestyleManager( factory );
}
#endregion
}
}
1.1
avalon-sandbox/avalon-net/Castle/MicroKernel/LifestyleManagers/Default/TransientLifestyleManager.cs
Index: TransientLifestyleManager.cs
===================================================================
// Copyright 2004 The 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.
namespace Apache.Avalon.Castle.MicroKernel.Lifestyle.Default
{
using System;
/// <summary>
/// Summary description for TransientLifestyleManager.
/// </summary>
public class TransientLifestyleManager : ILifestyleManager
{
private IComponentFactory m_componentFactory;
public TransientLifestyleManager(IComponentFactory componentFactory)
{
m_componentFactory = componentFactory;
}
#region IResolver Members
public object Resolve()
{
return m_componentFactory.Incarnate();
}
public void Release( object instance )
{
m_componentFactory.Etherialize( instance );
}
#endregion
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]