001    package org.apache.fulcrum.yaafi.framework.role;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     *   http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    import java.util.Collection;
023    
024    /**
025     * Contains the data of a <role> element.
026     *
027     * @author <a href="mailto:siegfried.goeschl@it20one.at">Siegfried Goeschl</a>
028     */
029    public interface RoleEntry
030    {
031        /**
032         * @return Returns the componentType.
033         */
034        String getComponentType();
035    
036        /**
037         * @return Returns the description.
038         */
039        String getDescription();
040    
041        /**
042         * @return Returns the implementationClazzName.
043         */
044        String getImplementationClazzName();
045    
046        /**
047         * @return Returns the isEarlyInit.
048         */
049        boolean isEarlyInit();
050    
051        /**
052         * @return Returns the name.
053         */
054        String getName();
055    
056        /**
057         * @return Returns the shorthand.
058         */
059        String getShorthand();
060    
061        /**
062         * @return Returns the componentFlavour.
063         */
064        String getComponentFlavour();
065    
066        /**
067         * @return Returns the hasProxy.
068         */
069        boolean hasDynamicProxy();
070    
071        /**
072         * @param hasProxy The hasProxy to set.
073         */
074        public void setHasDynamicProxy(boolean hasProxy);
075    
076        /**
077         * Adds all given interceptors but avoiding duplicates.
078         *
079         * @param collection the interceptors to be added
080         */
081        public void addInterceptors( Collection collection );
082    
083        /**
084         * @return Returns the interceptorList.
085         */
086        String[] getInterceptorList();
087    
088        /**
089         * @return the category for creating the logger.
090         */
091        String getLogCategory();
092    }