org.jpox.metadata
Class ExtendableMetaData

java.lang.Object
  extended byorg.jpox.metadata.MetaData
      extended byorg.jpox.metadata.ExtendableMetaData
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
AbstractClassMetaData, AbstractElementMetaData, AbstractPropertyMetaData, ColumnMetaData, ContainerMetaData, DiscriminatorMetaData, EmbeddedMetaData, FileMetaData, ForeignKeyMetaData, IdentityMetaData, ImplementsMetaData, IndexMetaData, InheritanceMetaData, JoinMetaData, OrderMetaData, PackageMetaData, PrimaryKeyMetaData, QueryMetaData, SequenceMetaData, UniqueMetaData, VersionMetaData

public class ExtendableMetaData
extends MetaData

Base class of any extendable meta-data. In JDO typically all types of meta-data are extendable so extend this. JPOX has a vendor-name of "jpox" but also supports "JPOX", "JPox", etc.

Since:
1.1
Version:
$Revision: 1.8 $
See Also:
Serialized Form

Field Summary
protected  java.util.List extensions
          List of extensions.
static java.lang.String JPOX_VENDOR_NAME
          Vendor name used by JPOX.
 
Fields inherited from class org.jpox.metadata.MetaData
LOCALISER, METADATA_CREATED_STATE, METADATA_INITIALISED_STATE, METADATA_POPULATED_STATE, METADATA_USED_STATE, metaDataState, parent
 
Constructor Summary
ExtendableMetaData(MetaData parent)
          default constructor
 
Method Summary
 void addExtension(java.lang.String key, java.lang.String value)
          Append new Extension (for JPOX).
 void addExtension(java.lang.String vendor, java.lang.String key, java.lang.String value)
          Append new Extension (for the specified vendor).
 ExtensionMetaData getExtension(int i)
          Accessor for an extension
 ExtensionMetaData[] getExtensions()
          Accessor for the extensions.
 int getNoOfExtensions()
          Accessor for the number of extensions.
 java.lang.String getValueForExtension(java.lang.String key)
          Accessor for the value of a particular extension (for JPOX).
 java.lang.String[] getValuesForExtension(java.lang.String key)
          Accessor for the value of a particular extension (for JPOX), but splitting it into separate parts.
 java.util.List getValuesForExtensionStartingWith(java.lang.String key)
          Accessor for the value of extensions having the key starting with the argument (for JPOX).
 boolean hasExtension(java.lang.String key)
          Accessor for whether an extension exists (for JPOX).
 void removeExtension(java.lang.String key)
          Method to remove a (JPOX) MetaData extension.
 java.lang.String toString()
          Returns a string representation of the object.
 java.lang.String toString(java.lang.String prefix, java.lang.String indent)
          Returns a string representation of the object.
 
Methods inherited from class org.jpox.metadata.MetaData
getParent, initialise, isCreated, isInitialised, isPopulated, isUsed, populate, setInitialised, setPopulated, setUsed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

JPOX_VENDOR_NAME

public static final java.lang.String JPOX_VENDOR_NAME
Vendor name used by JPOX.

See Also:
Constant Field Values

extensions

protected java.util.List extensions
List of extensions.

Constructor Detail

ExtendableMetaData

public ExtendableMetaData(MetaData parent)
default constructor

Parameters:
parent - The parent of this extendable element
Method Detail

getNoOfExtensions

public int getNoOfExtensions()
Accessor for the number of extensions.

Returns:
extension length

getExtensions

public ExtensionMetaData[] getExtensions()
Accessor for the extensions.

Returns:
The extensions.

getExtension

public ExtensionMetaData getExtension(int i)
Accessor for an extension

Parameters:
i - index number
Returns:
ExtensionMetaData instance

hasExtension

public boolean hasExtension(java.lang.String key)
Accessor for whether an extension exists (for JPOX).

Parameters:
key - The key of the extension
Returns:
Whether the extension exists

getValueForExtension

public java.lang.String getValueForExtension(java.lang.String key)
Accessor for the value of a particular extension (for JPOX).

Parameters:
key - The key of the extension
Returns:
The value of the extension (null if not existing)

getValuesForExtensionStartingWith

public java.util.List getValuesForExtensionStartingWith(java.lang.String key)
Accessor for the value of extensions having the key starting with the argument (for JPOX).

Parameters:
key - The key of the extension
Returns:
The value of the extension (empty list if not existing)

getValuesForExtension

public java.lang.String[] getValuesForExtension(java.lang.String key)
Accessor for the value of a particular extension (for JPOX), but splitting it into separate parts. This is for extension tags that have a value as comma separated.

Parameters:
key - The key of the extension
Returns:
The value(s) of the extension (null if not existing)

addExtension

public void addExtension(java.lang.String vendor,
                         java.lang.String key,
                         java.lang.String value)
Append new Extension (for the specified vendor). Will throw an InvalidMetaDataException if the input is invalid.

Parameters:
vendor - vendor-name tag value
key - key tag value
value - value tag value

addExtension

public void addExtension(java.lang.String key,
                         java.lang.String value)
Append new Extension (for JPOX). Will throw an InvalidMetaDataException if the input is invalid.

Parameters:
key - key tag value
value - value tag value

removeExtension

public void removeExtension(java.lang.String key)
Method to remove a (JPOX) MetaData extension.

Parameters:
key - Key of the tag

toString

public java.lang.String toString()
Returns a string representation of the object.

Returns:
a string representation of the object.

toString

public java.lang.String toString(java.lang.String prefix,
                                 java.lang.String indent)
Returns a string representation of the object.

Parameters:
prefix - prefix string
indent - indent string
Returns:
a string representation of the object.


Copyright © -2007 . All Rights Reserved.