<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you 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.
-->
<?eclipse version="3.2"?>
<plugin>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.apache.felix.sigil.utils.properties.EditorPropertyTester"
            id="org.cauldron.sigil.utils.editorPropertyTester"
            namespace="org.cauldron.sigil"
            properties="isEditorOfType"
            type="org.eclipse.ui.IWorkbenchPart">
      </propertyTester>
      <propertyTester
            class="org.apache.felix.sigil.utils.properties.PartKindPropertyTester"
            id="org.cauldron.sigil.runtime.PartKindPropertyTester"
            namespace="org.cauldron.sigil"
            properties="partKind,partId"
            type="org.eclipse.ui.IWorkbenchPart">
      </propertyTester>
      <propertyTester
            class="org.apache.felix.sigil.utils.properties.ResourceTypePropertyTester"
            id="org.cauldron.sigil.utils.ResourcePropertyTester"
            namespace="org.cauldron.sigil"
            properties="isResourceOfType"
            type="org.eclipse.core.resources.IResource">
      </propertyTester>
   </extension>

</plugin>
