org.obe.client.api.repository
Class AbstractMetaData

java.lang.Object
  extended byorg.obe.client.api.repository.AbstractMetaData
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
EvaluatorMetaData, EventTypeMetaData, ImplClassMetaData, ResourceMetaData, ToolAgentMetaData

public abstract class AbstractMetaData
extends java.lang.Object
implements java.io.Serializable

An abstract base class for meta-data implementations. The meta-data supports a kind of inheritance; repository entries can reference a parent type (by id) via their 'type' attribute. Property accessor methods automatically return the parent property value if the child value is null. N.B. subclasses' property getters are expected to conform to this pattern.

Author:
Adrian Price
See Also:
Serialized Form

Field Summary
protected  java.lang.String _author
           
protected  java.lang.String _description
           
protected  java.lang.String _displayName
           
protected  java.lang.String _docUrl
           
protected  java.lang.String _id
           
protected  boolean _threadsafe
           
protected  AbstractMetaData _type
           
static boolean allowInheritance
          Enables field inheritance via the type delegate chain.
protected static java.lang.Object[] EMPTY_ARGS
           
protected static java.lang.String[] NO_ARGS_SIG
           
 
Constructor Summary
protected AbstractMetaData()
           
protected AbstractMetaData(java.lang.String id, java.lang.String displayName, java.lang.String description, java.lang.String docUrl, java.lang.String author, boolean threadsafe)
           
 
Method Summary
abstract  java.lang.Object createInstance(org.xml.sax.EntityResolver entityResolver)
           
 java.lang.Object createInstance(org.xml.sax.EntityResolver entityResolver, java.lang.Object args)
           
protected  java.lang.Object createInstance(java.lang.Object[] ctorArgs)
           
 java.lang.String getAuthor()
           
 java.lang.String getDescription()
           
 java.lang.String getDisplayName()
           
 java.lang.String getDocUrl()
           
 java.lang.String getId()
           
protected abstract  java.lang.String getImplClass()
           
protected abstract  java.lang.String[] getImplCtorSig()
           
 boolean getThreadsafe()
           
 AbstractMetaData getType()
           
 boolean isThreadsafe()
           
 void setAuthor(java.lang.String author)
           
 void setDescription(java.lang.String description)
           
 void setDisplayName(java.lang.String displayName)
           
 void setDocUrl(java.lang.String docUrl)
           
 void setId(java.lang.String id)
           
 void setThreadsafe(boolean threadsafe)
           
 void setType(AbstractMetaData type)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

allowInheritance

public static boolean allowInheritance
Enables field inheritance via the type delegate chain.


NO_ARGS_SIG

protected static final java.lang.String[] NO_ARGS_SIG

EMPTY_ARGS

protected static final java.lang.Object[] EMPTY_ARGS

_type

protected AbstractMetaData _type

_id

protected java.lang.String _id

_displayName

protected java.lang.String _displayName

_description

protected java.lang.String _description

_docUrl

protected java.lang.String _docUrl

_author

protected java.lang.String _author

_threadsafe

protected boolean _threadsafe
Constructor Detail

AbstractMetaData

protected AbstractMetaData()

AbstractMetaData

protected AbstractMetaData(java.lang.String id,
                           java.lang.String displayName,
                           java.lang.String description,
                           java.lang.String docUrl,
                           java.lang.String author,
                           boolean threadsafe)
Method Detail

createInstance

protected final java.lang.Object createInstance(java.lang.Object[] ctorArgs)
                                         throws RepositoryException
Throws:
RepositoryException

createInstance

public abstract java.lang.Object createInstance(org.xml.sax.EntityResolver entityResolver)
                                         throws RepositoryException
Throws:
RepositoryException

createInstance

public java.lang.Object createInstance(org.xml.sax.EntityResolver entityResolver,
                                       java.lang.Object args)
                                throws RepositoryException
Throws:
RepositoryException

getImplClass

protected abstract java.lang.String getImplClass()

getImplCtorSig

protected abstract java.lang.String[] getImplCtorSig()

getId

public final java.lang.String getId()

setId

public final void setId(java.lang.String id)

getDisplayName

public final java.lang.String getDisplayName()

setDisplayName

public final void setDisplayName(java.lang.String displayName)

getDescription

public final java.lang.String getDescription()

setDescription

public final void setDescription(java.lang.String description)

getDocUrl

public final java.lang.String getDocUrl()

setDocUrl

public final void setDocUrl(java.lang.String docUrl)

getAuthor

public final java.lang.String getAuthor()

setAuthor

public final void setAuthor(java.lang.String author)

isThreadsafe

public final boolean isThreadsafe()

getThreadsafe

public final boolean getThreadsafe()

setThreadsafe

public final void setThreadsafe(boolean threadsafe)

getType

public final AbstractMetaData getType()

setType

public final void setType(AbstractMetaData type)

toString

public java.lang.String toString()


SourceForge.net Logo OBE-1.0 Copyright (c) 2002-2006 Adrian Price. All Rights Reserved.