001    /*
002     * Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved.
003     * 
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *      http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.osgi.service.metatype;
017    
018    import org.osgi.framework.Bundle;
019    
020    /**
021     * A MetaType Information object is created by the MetaTypeService to return
022     * meta type information for a specific bundle.
023     * 
024     * @version $Revision: 5673 $
025     * @since 1.1
026     */
027    public interface MetaTypeInformation extends MetaTypeProvider {
028            /**
029             * Return the PIDs (for ManagedServices) for which ObjectClassDefinition
030             * information is available.
031             * 
032             * @return Array of PIDs.
033             */
034            public String[] getPids();
035    
036            /**
037             * Return the Factory PIDs (for ManagedServiceFactories) for which
038             * ObjectClassDefinition information is available.
039             * 
040             * @return Array of Factory PIDs.
041             */
042            public String[] getFactoryPids();
043    
044            /**
045             * Return the bundle for which this object provides meta type information.
046             * 
047             * @return Bundle for which this object provides meta type information.
048             */
049            public Bundle getBundle();
050    }