blob: 8a2f74fc0ff0e6168d1838c2ea02f0d893d9e244 [file] [log] [blame]
/*
* 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 javax.jdo.metadata;
/**
* This interface provides base level definitions for all metadata components.
*
* @version 2.3
*/
public interface Metadata {
/**
* Add a vendor extension to this metadata component.
*
* @param vendor Identifier for the vendor
* @param key The extension key
* @param value Value for the extension
* @return The ExtensionMetaData
*/
ExtensionMetadata newExtensionMetaData(String vendor, String key, String value);
/**
* Number of extensions on this component.
*
* @return Number of extensions
*/
int getNumberOfExtensions();
/**
* Accessor for the defined extensions for this component
*
* @return The extensions
*/
ExtensionMetadata[] getExtensions();
/**
* Accessor for the parent metadata component.
*
* @return The parent
*/
Metadata getParent();
}