/* * 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; /** * <p>Convenience base class for EL resolvers.</p> */ abstract class AbstractELResolver extends ELResolver { // ------------------------------------------------------- Protected Methods /** * <p>Create and return a <code>FeatureDescriptor</code> configured with * the specified arguments.</p> * * @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; } }