org.apache.shale.test.el.AbstractELResolver Maven / Gradle / Ivy
/*
* 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.
*/
package org.apache.shale.test.el;
import java.beans.FeatureDescriptor;
import javax.el.ELResolver;
/**
* Convenience base class for EL resolvers.
*/
abstract class AbstractELResolver extends ELResolver {
// ------------------------------------------------------- Protected Methods
/**
* Create and return a FeatureDescriptor
configured with
* the specified arguments.
*
* @param name Feature name
* @param displayName Display name
* @param description Short description
* @param expert Flag indicating this feature is for experts
* @param hidden Flag indicating this feature should be hidden
* @param preferred Flag indicating this feature is the preferred one
* among features of the same type
* @param type Runtime type of this feature
* @param designTime Flag indicating feature is resolvable at design time
*/
protected FeatureDescriptor descriptor(String name, String displayName,
String description, boolean expert, boolean hidden, boolean preferred,
Object type, boolean designTime) {
FeatureDescriptor descriptor = new FeatureDescriptor();
descriptor.setName(name);
descriptor.setDisplayName(displayName);
descriptor.setShortDescription(description);
descriptor.setExpert(expert);
descriptor.setHidden(hidden);
descriptor.setPreferred(preferred);
descriptor.setValue(ELResolver.TYPE, type);
if (designTime) {
descriptor.setValue(ELResolver.RESOLVABLE_AT_DESIGN_TIME, Boolean.TRUE);
} else {
descriptor.setValue(ELResolver.RESOLVABLE_AT_DESIGN_TIME, Boolean.FALSE);
}
return descriptor;
}
}