KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > alfresco > web > config > AspectEvaluator


1 /*
2  * Copyright (C) 2005 Alfresco, Inc.
3  *
4  * Licensed under the Mozilla Public License version 1.1
5  * with a permitted attribution clause. You may obtain a
6  * copy of the License at
7  *
8  * http://www.alfresco.org/legal/license.txt
9  *
10  * Unless required by applicable law or agreed to in writing,
11  * software distributed under the License is distributed on an
12  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13  * either express or implied. See the License for the specific
14  * language governing permissions and limitations under the
15  * License.
16  */

17 package org.alfresco.web.config;
18
19 import java.util.Set JavaDoc;
20
21 import org.alfresco.config.evaluator.Evaluator;
22 import org.alfresco.service.namespace.QName;
23 import org.alfresco.web.bean.repository.Node;
24 import org.alfresco.web.bean.repository.Repository;
25
26 /**
27  * Evaluator that determines whether a given object has a particular aspect applied
28  *
29  * @author gavinc
30  */

31 public class AspectEvaluator implements Evaluator
32 {
33    /**
34     * Determines whether the given aspect is applied to the given object
35     *
36     * @see org.alfresco.config.evaluator.Evaluator#applies(java.lang.Object, java.lang.String)
37     */

38    public boolean applies(Object JavaDoc obj, String JavaDoc condition)
39    {
40       boolean result = false;
41       
42       if (obj instanceof Node)
43       {
44          Set JavaDoc aspects = ((Node)obj).getAspects();
45          if (aspects != null)
46          {
47             QName spaceQName = Repository.resolveToQName(condition);
48             result = aspects.contains(spaceQName);
49          }
50       }
51       
52       return result;
53    }
54
55 }
56
Popular Tags