org.codehaus.modello.model
Class BaseElement

java.lang.Object
  extended by org.codehaus.modello.model.BaseElement
Direct Known Subclasses:
CodeSegment, Model, ModelField, ModelType

public abstract class BaseElement
extends java.lang.Object

This is the base class for all elements of the model. The name attribute is immutable because it's used as the key.

Version:
$Id: BaseElement.java 1433 2010-04-14 12:34:49Z bentmann $
Author:
Jason van Zyl, Trygve Laugstøl, Emmanuel Venisse

Constructor Summary
BaseElement(boolean nameRequired)
           
BaseElement(boolean nameRequired, java.lang.String name)
           
 
Method Summary
 void addMetadata(Metadata metadata)
           
 boolean equals(java.lang.Object other)
           
 java.util.List<java.lang.String> getAnnotations()
           
 java.lang.String getComment()
           
 Version getDeprecatedVersion()
           
 java.lang.String getDescription()
           
protected
<T extends Metadata>
T
getMetadata(java.lang.Class<T> type, java.lang.String key)
           
 java.lang.String getName()
           
 VersionRange getVersionRange()
           
 int hashCode()
           
 boolean hasMetadata(java.lang.String key)
           
protected  boolean isEmpty(java.lang.String string)
           
 void setAnnotations(java.util.List<java.lang.String> annotations)
           
 void setComment(java.lang.String comment)
           
 void setDeprecatedVersion(Version deprecatedVersion)
           
 void setDescription(java.lang.String description)
           
 void setName(java.lang.String name)
           
 void setVersionRange(VersionRange versionRange)
           
 void validate()
           
abstract  void validateElement()
           
protected  void validateFieldNotEmpty(java.lang.String objectName, java.lang.String fieldName, java.lang.String value)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseElement

public BaseElement(boolean nameRequired)

BaseElement

public BaseElement(boolean nameRequired,
                   java.lang.String name)
Method Detail

validateElement

public abstract void validateElement()
                              throws ModelValidationException
Throws:
ModelValidationException

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

getDescription

public java.lang.String getDescription()

setDescription

public void setDescription(java.lang.String description)

getVersionRange

public VersionRange getVersionRange()

setVersionRange

public void setVersionRange(VersionRange versionRange)

setDeprecatedVersion

public void setDeprecatedVersion(Version deprecatedVersion)

getDeprecatedVersion

public Version getDeprecatedVersion()

getComment

public java.lang.String getComment()

setComment

public void setComment(java.lang.String comment)

hasMetadata

public boolean hasMetadata(java.lang.String key)

addMetadata

public void addMetadata(Metadata metadata)

getMetadata

protected <T extends Metadata> T getMetadata(java.lang.Class<T> type,
                                             java.lang.String key)

validateFieldNotEmpty

protected void validateFieldNotEmpty(java.lang.String objectName,
                                     java.lang.String fieldName,
                                     java.lang.String value)
                              throws ModelValidationException
Throws:
ModelValidationException

validate

public final void validate()
                    throws ModelValidationException
Throws:
ModelValidationException

isEmpty

protected boolean isEmpty(java.lang.String string)

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getAnnotations

public java.util.List<java.lang.String> getAnnotations()
Returns:
the annotations

setAnnotations

public void setAnnotations(java.util.List<java.lang.String> annotations)
Parameters:
annotations - the annotations to set


Copyright © 2001-2010 Codehaus. All Rights Reserved.