Class AbstractDomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>,​D extends AbstractDomainObject<T,​D>>

  • Type Parameters:
    T - the PDO class
    D - the domain object class
    All Implemented Interfaces:
    java.io.Serializable, org.tentackle.pdo.DomainContextProvider, org.tentackle.pdo.DomainDelegate<T>, org.tentackle.pdo.DomainObject<T>, org.tentackle.pdo.PdoProvider<T>, org.tentackle.pdo.ProxyDelegate<T>, org.tentackle.reflect.EffectiveClassProvider<T>, org.tentackle.reflect.Interceptable, org.tentackle.session.SessionProvider
    Direct Known Subclasses:
    NumberPoolDomainImpl, NumberRangeDomainImpl, SecurityDomainImpl

    public abstract class AbstractDomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>,​D extends AbstractDomainObject<T,​D>>
    extends java.lang.Object
    implements org.tentackle.pdo.DomainObject<T>, org.tentackle.reflect.EffectiveClassProvider<T>, java.io.Serializable
    Base domain implementation of a PDO.
    Author:
    harald
    See Also:
    Serialized Form
    • Constructor Detail

      • AbstractDomainObject

        public AbstractDomainObject​(T pdo)
        Creates an application domain object.
        Parameters:
        pdo - the persistent domain object this is a delegate for
      • AbstractDomainObject

        public AbstractDomainObject()
        Creates an application domain object.
    • Method Detail

      • getPersistenceDelegate

        public org.tentackle.pdo.PersistenceDelegate<T> getPersistenceDelegate()
        Specified by:
        getPersistenceDelegate in interface org.tentackle.pdo.DomainDelegate<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • getPdo

        public T getPdo()
        Specified by:
        getPdo in interface org.tentackle.pdo.PdoProvider<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • me

        public T me()
        Specified by:
        me in interface org.tentackle.pdo.ProxyDelegate<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • setPdo

        public void setPdo​(T pdo)
        Sets the PDO.
        Parameters:
        pdo - the pdo
      • getEffectiveClass

        public java.lang.Class<T> getEffectiveClass()
        Specified by:
        getEffectiveClass in interface org.tentackle.reflect.EffectiveClassProvider<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • getEffectiveSuperClasses

        public java.util.List<java.lang.Class<? super T>> getEffectiveSuperClasses()
        Specified by:
        getEffectiveSuperClasses in interface org.tentackle.reflect.EffectiveClassProvider<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • getDomainContext

        public org.tentackle.pdo.DomainContext getDomainContext()
        Specified by:
        getDomainContext in interface org.tentackle.pdo.DomainContextProvider
      • getSession

        public org.tentackle.session.Session getSession()
        Specified by:
        getSession in interface org.tentackle.session.SessionProvider
      • toGenericString

        public java.lang.String toGenericString()
        Specified by:
        toGenericString in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • toString

        public java.lang.String toString()
        Gets the string representation of this domain object.

        The default implementation returns the domain key, if this is a root entity. If a component, its single-name will be returned. If evaluating the domain key failed, the generic string is returned along with the exception in parentheses. This is due to the fact that toString should never throw an exception as it is used for logging and debugging.

        Overrides:
        toString in class java.lang.Object
        Returns:
        the string representation
      • isUniqueDomainKeyProvided

        public boolean isUniqueDomainKeyProvided()
        Specified by:
        isUniqueDomainKeyProvided in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • getUniqueDomainKeyType

        public java.lang.Class<?> getUniqueDomainKeyType()
        Specified by:
        getUniqueDomainKeyType in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • getUniqueDomainKey

        public java.lang.Object getUniqueDomainKey()
        Specified by:
        getUniqueDomainKey in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • setUniqueDomainKey

        public void setUniqueDomainKey​(java.lang.Object domainKey)
        Specified by:
        setUniqueDomainKey in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • findByUniqueDomainKey

        public T findByUniqueDomainKey​(java.lang.Object domainKey)
        Specified by:
        findByUniqueDomainKey in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • getSingular

        public java.lang.String getSingular()
        Specified by:
        getSingular in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • getPlural

        public java.lang.String getPlural()
        Specified by:
        getPlural in interface org.tentackle.pdo.DomainObject<T extends org.tentackle.pdo.PersistentDomainObject<T>>
      • assertRootEntity

        public void assertRootEntity()
        Checks if the PDO is a root entity.