2
* The MIT License (MIT)
4
* Copyright 2010 Canonical Ltd.
6
* Permission is hereby granted, free of charge, to any person
7
* obtaining a copy of this software and associated documentation
8
* files (the "Software"), to deal in the Software without
9
* restriction, including without limitation the rights to use,
10
* copy, modify, merge, publish, distribute, sublicense, and/or sell
11
* copies of the Software, and to permit persons to whom the
12
* Software is furnished to do so, subject to the following
15
* The above copyright notice and this permission notice shall be
16
* included in all copies or substantial portions of the Software.
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
* OTHER DEALINGS IN THE SOFTWARE.
27
* Authors: Manuel de la Peña <manuel.delapena@canonical.com>
30
using LpNet.WadlSharp.Common.Interface.Generator;
32
namespace LpNet.WadlSharp.Common.Generator
34
class LpClassFactory : IClassFactory
36
#region Implementation of IClassFactory
39
/// Creates a new class with the default create identifier function.
41
/// <returns>A class that uses the default create identifier function that will be
42
/// used to name methods and parameters.</returns>
43
public IClass CreateClass()
49
/// Creates a new class with the pass create identifier function.
51
/// <param name="createIdentifier">The function that will be used to name methods
52
/// and parameters.</param>
53
/// <returns>A class that uses the given create identifier function.</returns>
54
public IClass CreateClass(Func<string, string> createIdentifier)
56
return new LpClass(createIdentifier);