2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * @file FilterFactory.h
19 * @author Kisub Song (kisubs.song@samsung.com)
24 #include "FilterFactory.h"
32 CompositeFilterPtr FilterFactory::createCompositeFilterObject(const FilterType& type,
33 const FilterArrayPtr& filters)
35 CompositeFilterPtr result(new CompositeFilter(type, filters));
39 AttributeFilterPtr FilterFactory::createAttributeFilterObject(const string& attributeName,
40 const AnyArrayPtr& matchValues,
41 const string& matchFlag,
42 const bool caseSensitive)
44 AttributeFilterPtr result(new AttributeFilter(attributeName, matchValues, matchFlag, caseSensitive));
48 AttributeRangeFilterPtr FilterFactory::createAttributeRangeFilterObject(const string& attributeName,
49 const AnyPtr& initialValue,
50 const AnyPtr& endValue)
52 AttributeRangeFilterPtr result(new AttributeRangeFilter(attributeName, initialValue, endValue));
56 SortModePtr FilterFactory::createSortModeObject(const string& attributeName, const SortOrder& type)
58 SortModePtr result(new SortMode(attributeName, type));
62 FilterFactory& FilterFactory::getInstance()
64 static FilterFactory theInstance;