HibernateEmbeddedValueLogicImpl.java
package org.andromda.cartridges.hibernate.metafacades;
import java.text.MessageFormat;
import java.util.Collection;
import org.andromda.cartridges.hibernate.HibernateProfile;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
/**
* MetafacadeLogic implementation for
* org.andromda.cartridges.hibernate.metafacades.HibernateEmbeddedValue.
*
* @see org.andromda.cartridges.hibernate.metafacades.HibernateEmbeddedValue
* @author Klaus Schultz
*/
public class HibernateEmbeddedValueLogicImpl
extends HibernateEmbeddedValueLogic
{
private static final long serialVersionUID = 34L;
// ---------------- constructor -------------------------------
/**
* @param metaObject
* @param context
*/
public HibernateEmbeddedValueLogicImpl(
Object metaObject,
String context)
{
super(metaObject, context);
}
/**
* @see org.andromda.cartridges.hibernate.metafacades.HibernateEmbeddedValue#isImmutable()
*/
@Override
protected boolean handleIsImmutable()
{
boolean immutable = false;
Object value = this.findTaggedValue(HibernateProfile.TAGGEDVALUE_PERSISTENCE_IMMUTABLE);
if (value != null)
{
immutable = Boolean.valueOf(ObjectUtils.toString(value)).booleanValue();
}
return immutable;
}
/**
* @see org.andromda.cartridges.hibernate.metafacades.HibernateEmbeddedValue#getImplementationName()
*/
@Override
protected String handleGetImplementationName()
{
final String implNamePattern =
String.valueOf(this.getConfiguredProperty(HibernateGlobals.EMBEDDED_VALUE_IMPLEMENTATION_NAME_PATTERN));
return MessageFormat.format(
implNamePattern,
StringUtils.trimToEmpty(this.getName()));
}
/**
* @return formatted Entity Name
* @see org.andromda.cartridges.hibernate.metafacades.HibernateEntity#getEntityName()
*/
protected String handleGetEntityName()
{
final String entityNamePattern = (String)this.getConfiguredProperty(HibernateGlobals.ENTITY_NAME_PATTERN);
return MessageFormat.format(
entityNamePattern,
StringUtils.trimToEmpty(this.getName()));
}
/**
* analogy of HibernateEntityLogicImpl
* @return getFullyQualifiedName
*
* @see org.andromda.cartridges.hibernate.metafacades.HibernateEmbeddedValue
*/
protected String handleGetFullyQualifiedEntityName()
{
return HibernateMetafacadeUtils.getFullyQualifiedName(
this.getPackageName(),
this.getName(),
null);
}
/**
* see HibernateEntityLogicImpl
* @return filterBusinessOperations(this.getOperations())
*/
protected Collection handleGetBusinessOperations()
{
return HibernateMetafacadeUtils.filterBusinessOperations(this.getOperations());
}
}