Class AbstractModelObject

java.lang.Object
org.faktorips.runtime.internal.AbstractModelObject
All Implemented Interfaces:
IModelObject
Direct Known Subclasses:
AbstractJaxbModelObject

public abstract class AbstractModelObject extends Object implements IModelObject
Abstract base class for all policy component types.
  • Constructor Details

    • AbstractModelObject

      public AbstractModelObject()
  • Method Details

    • removeChildModelObjectInternal

      public void removeChildModelObjectInternal(IModelObject child)
      Removes the given child object from this object. If the given object is not a child of this model object or the given object is null, the method does nothing.
      Parameters:
      child - The child you want to remove
    • validate

      public MessageList validate(IValidationContext context)
      Description copied from interface: IModelObject
      Validates the model object and returns a list of messages. If no message is generated the method returns an empty list. Note that also messages like warnings or informations can be returned for valid objects.
      Specified by:
      validate in interface IModelObject
      Parameters:
      context - provides additional external information that might be necessary to execute the validation. E.g. the business context, the locale to provide locale specific message texts, user information. The parameter must not be null.
    • validate

      public void validate(MessageList list, IValidationContext context)
      Validates the policy component and adds any messages generated to the given list. Calls validateSelf() and validateDependences().
      Parameters:
      context - provides additional external information that might be necessary to execute the validation. E.g. the business context, the locale to provide locale specific message texts, user information
      Throws:
      NullPointerException - if the list is null and a message is generated. This method is model internal, it is not part of the published interface and should not be used by clients
    • validateDependants

      protected void validateDependants(MessageList list, IValidationContext context)
      Validates the policy component's dependant components and adds any message generated to the given list.

      The default implementation does nothing. Should be overridden in subclasses.

      Parameters:
      list - The message list
      context - provides additional external information that might be necessary to execute the validation. E.g. the business context, the locale to provide locale specific message texts, user information
      Throws:
      NullPointerException - if list is null and a message is generated.
    • validateSelf

      protected boolean validateSelf(MessageList list, IValidationContext context)
      Validates this policy component's state without validating the dependant components. Adds any message generated to the given list.

      The default implementation does nothing. Should be overridden in subclasses.

      Parameters:
      list - the message list
      context - provides additional external information that might be necessary to execute the validation. E.g. the business context, the locale to provide locale specific message texts, user information
      Returns:
      true if this model object should continue validating, false else.
      Throws:
      NullPointerException - if list is null and a message is generated.
    • initFromXml

      public void initFromXml(Element objectEl, boolean initWithProductDefaultsBeforeReadingXmlData, IRuntimeRepository productRepository, IObjectReferenceStore store)
      Initializes the policy component's state with the data stored in the given xml element.
      Parameters:
      objectEl - Xml element containing the state data.
      initWithProductDefaultsBeforeReadingXmlData - true if the policy component should be initialized with the product defaults.
      productRepository - The repository that contains the product components.
      store - The store where unresolved references are stored in (so that they can be resolved after all objects have been initialized from xml).
    • initFromXml

      public void initFromXml(Element objectEl, boolean initWithProductDefaultsBeforeReadingXmlData, IRuntimeRepository productRepository, IObjectReferenceStore store, XmlCallback xmlCallback)
      Initializes the policy component's state with the data stored in the given xml element.
      Parameters:
      objectEl - Xml element containing the state data.
      initWithProductDefaultsBeforeReadingXmlData - true if the policy component should be initialized with the product defaults.
      productRepository - The repository that contains the product components.
      store - The store where unresolved references are stored in (so that they can be resolved after all objects have been initialized from xml).
      xmlCallback - An XML callback class which could handle enhanced xml initialization of the current element.
    • initFromXml

      protected void initFromXml(Element objectEl, boolean initWithProductDefaultsBeforeReadingXmlData, IRuntimeRepository productRepository, IObjectReferenceStore store, XmlCallback xmlCallback, String currPath)
      Initializes the policy component's state with the data stored in the given xml element.
      Parameters:
      objectEl - Xml element containing the state data.
      initWithProductDefaultsBeforeReadingXmlData - true if the policy component should be initialized with the product defaults.
      productRepository - The repository that contains the product components.
      store - The store where unresolved references are stored in (so that they can be resolved after all objects have been initialized from xml).
      xmlCallback - An XML callback class which could handle enhanced xml initialization of the current element.
      currPath - The path inside the XML tree structure. Starting from the root element.
    • initPropertiesFromXml

      protected void initPropertiesFromXml(Map<String,String> propMap, IRuntimeRepository productRepository)
      Parameters:
      propMap - The property map
      productRepository - the runtime repository
    • createChildFromXml

      protected AbstractModelObject createChildFromXml(Element childEl)
      Parameters:
      childEl - The child element
    • initAssociationFromXml

      protected void initAssociationFromXml(Element el, Object objectId, IObjectReferenceStore store)
    • createUnresolvedReference

      protected IUnresolvedReference createUnresolvedReference(Object objectId, String targetRole, String targetId) throws Exception
      Parameters:
      objectId - object id
      targetRole - target role
      targetId - target id
      Throws:
      Exception