/*******************************************************************************
* Copyright (c) 2006 Oracle Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.bpel.validator.model;
import javax.xml.namespace.QName;
import org.eclipse.bpel.validator.helpers.NCNameWordDetector;
/**
* @author Michal Chmielewski (michal.chmielewski@oracle.com)
* @date Dec 6, 2006
*
*/
@SuppressWarnings("nls")
public class Filters implements IConstants {
/** Scope or process filter. */
static public final IFilter<INode> SCOPE_OR_PROCESS = new NodeNameFilter ( ND_SCOPE, ND_PROCESS );
/** Scope selector */
public static final IFilter<INode> SCOPE = new NodeNameFilter( ND_SCOPE ) ;
/** Process selector/filter */
public static final IFilter<INode> PROCESS = new NodeNameFilter ( ND_PROCESS );
/** Flow */
public static final IFilter<INode> FLOW = new NodeNameFilter( ND_FLOW );
/** Boolean filter values */
static public final IFilter<String> BOOLEAN_FILTER = new ValueFilter<String> ( Filter.STRING_COMPARATOR, BOOLEAN_VALUES );
/** Initiate filter values */
public static final IFilter<String> INITIATE_FILTER = new ValueFilter<String> (Filter.STRING_COMPARATOR,INITIATE_VALUES);
/** End point values */
public static final IFilter<String> ENDPOINT_FILTER = new ValueFilter<String> (Filter.STRING_COMPARATOR,ENDPOINT_VALUES);
/** Correlation pattern values */
public static final IFilter<String> PATTERN_FILTER = new ValueFilter<String> ( Filter.STRING_COMPARATOR,PATTERN_VALUES );
/** Repeatable nodes */
public static final IFilter<INode> REPEATABLE_CONSTRUCT = new NodeNameFilter ( REPEATABLE_NODES );
/** Event handler boundary */
public static final IFilter<INode> FAULT_HANDLER_BOUNDARY = new NodeNameFilter ( FAULT_HANDLER_BOUNDARY_NODES );
/** FCT-Handlers */
public static final IFilter<INode> FCT_HANDLER = new NodeNameFilter ( FCT_HANDLERS );
/** The BPEL activities filter */
static public final IFilter<INode> ACTIVITIES = new NodeNameFilter( BPEL_ACTIVITIES ) {
@Override
public String toString() {
return "text.bpel.activities.filter";
}
};
/** Activity containers filter */
static public final IFilter<INode> ACTIVITY_CONTAINER = new NodeNameFilter( BPEL_ACTIVITIES_CONTAINERS ) {
@Override
public String toString() {
return "text.bpel.activities.container.filter";
}
};
/** The Any filter */
public static final IFilter<INode> ANY = new NodeNameFilter(new QName("*"));
/** The empty filter */
public static final IFilter<INode> EMPTY = new NodeNameFilter();
/** An NC_NAME Filter */
public static final IFilter<String> NC_NAME = new IFilter<String> () {
NCNameWordDetector fWordDetector = new NCNameWordDetector();
public boolean select (String name) {
return fWordDetector.isValid(name);
}
@Override
public String toString() {
return "Valid-NCName";
}
};
/**
* Standard faults filter.
*/
static public final IFilter<QName> STANDARD_FAULTS = new ValueFilter<QName>( Filter.QNAME_COMPARATOR, BPEL_STANDARD_FAULTS) ;
}