org.faktorips.runtime.internal
Class AbstractModelObject

java.lang.Object
  extended by org.faktorips.runtime.internal.AbstractModelObject
All Implemented Interfaces:
IModelObject

public abstract class AbstractModelObject
extends Object
implements IModelObject

Abstract base class for all policy component types.

Author:
Jan Ortmann

Field Summary
protected static boolean CONTINUE_VALIDATION
          Constant for the return values of validate methods (i.e.
protected static boolean STOP_VALIDATION
          Constant for the return values of validate methods (i.e.
 
Constructor Summary
AbstractModelObject()
           
 
Method Summary
protected  AbstractModelObject createChildFromXml(Element childEl)
           
protected  IUnresolvedReference createUnresolvedReference(Object objectId, String targetRole, String targetId)
           
protected  void initAssociationFromXml(Element el, Object objectId, IObjectReferenceStore store)
           
 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.
 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.
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.
protected  void initPropertiesFromXml(Map<String,String> propMap, IRuntimeRepository productRepository)
           
 void removeChildModelObjectInternal(IModelObject child)
          Removes the given child object from this object.
 MessageList validate(IValidationContext context)
          Validates the model object and returns a list of messages.
 void validate(MessageList list, IValidationContext context)
          Validates the policy component and adds any messages generated to the given list.
protected  void validateDependants(MessageList list, IValidationContext context)
          Validates the policy component's dependant components and adds any message generated to the given list.
protected  boolean validateSelf(MessageList list, IValidationContext context)
          Validates this policy component's state without validating the dependant components.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STOP_VALIDATION

protected static final boolean STOP_VALIDATION
Constant for the return values of validate methods (i.e. validateSelf() or ruleXYZ()). Indicates that the validation should be stopped.

See Also:
Constant Field Values

CONTINUE_VALIDATION

protected static final boolean CONTINUE_VALIDATION
Constant for the return values of validate methods (i.e. validateSelf() or ruleXYZ()). Indicates that the validation should be continued.

See Also:
Constant Field Values
Constructor Detail

AbstractModelObject

public AbstractModelObject()
Method Detail

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


Copyright © 2015. All rights reserved.