org.malai.mapping
Class SymmetricList2ListMapping<E,F>

java.lang.Object
  extended by org.malai.mapping.List2ObjectMapping<E,java.util.List<F>>
      extended by org.malai.mapping.List2ListMapping<E,F>
          extended by org.malai.mapping.SymmetricList2ListMapping<E,F>
Type Parameters:
E - The type of the source list of the mapping.
F - The type of the target list of the mapping.
All Implemented Interfaces:
IMapping
Direct Known Subclasses:
ShapeList2ViewListMapping

public abstract class SymmetricList2ListMapping<E,F>
extends List2ListMapping<E,F>

This interface defines the concept of mapping that link source objects with target objects.

This file is part of Malai.
Copyright (c) 2009-2012 Arnaud BLOUIN

Malai is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Malai is distributed without any warranty; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

05/15/2010

Since:
0.2
Version:
0.2
Author:
Arnaud BLOUIN

Field Summary
 
Fields inherited from class org.malai.mapping.List2ObjectMapping
source, target
 
Constructor Summary
SymmetricList2ListMapping(java.util.List<E> source, java.util.List<F> target)
          List2ListMapping.List2ListMapping(List, List)
 
Method Summary
protected abstract  F createTargetObject(java.lang.Object sourceObject)
          Creates an instance of the target type using the given source object.
 void init()
          At start, the mapping must be executed one time to initialise the binding between source and target objects.
 void onListCleaned(java.lang.Object list)
          Executes the mapping when all the elements of the source were removed.
 void onObjectAdded(java.lang.Object list, java.lang.Object object, int index)
          Executes the mapping for the addition of an object.
 void onObjectModified(java.lang.Object object)
          Executes the mapping for the modification of an object.
 void onObjectMoved(java.lang.Object list, java.lang.Object object, int srcIndex, int targetIndex)
          Executes the mapping for the move of an object.
 void onObjectRemoved(java.lang.Object list, java.lang.Object object, int index)
          Executes the mapping for the deletion of an object.
 void onObjectReplaced(IUnary<?> object, java.lang.Object replcaedObject)
          Executes the mapping when an object has been replaced by an other one.
 
Methods inherited from class org.malai.mapping.List2ObjectMapping
clear, getSource, getTarget
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SymmetricList2ListMapping

public SymmetricList2ListMapping(java.util.List<E> source,
                                 java.util.List<F> target)
List2ListMapping.List2ListMapping(List, List)

Method Detail

createTargetObject

protected abstract F createTargetObject(java.lang.Object sourceObject)
Creates an instance of the target type using the given source object.

Parameters:
sourceObject - The source object used to create the target object.
Returns:
The created target object.
Since:
0.2

onObjectAdded

public void onObjectAdded(java.lang.Object list,
                          java.lang.Object object,
                          int index)
Description copied from interface: IMapping
Executes the mapping for the addition of an object.

Parameters:
list - The modified source list.
object - The added object.
index - The position where the object has been added. -1 = the last position.

onObjectModified

public void onObjectModified(java.lang.Object object)
Description copied from interface: IMapping
Executes the mapping for the modification of an object.

Parameters:
object - The modified object.

onObjectMoved

public void onObjectMoved(java.lang.Object list,
                          java.lang.Object object,
                          int srcIndex,
                          int targetIndex)
Description copied from interface: IMapping
Executes the mapping for the move of an object.

Parameters:
list - The modified source list.
object - The move object.
srcIndex - The source position of the object. -1 = the last position.
targetIndex - The target position of the object. -1 = the last position.

onObjectRemoved

public void onObjectRemoved(java.lang.Object list,
                            java.lang.Object object,
                            int index)
Description copied from interface: IMapping
Executes the mapping for the deletion of an object.

Parameters:
list - The modified source list.
object - The deleted object.
index - The position where the object has been deleted. -1 = the last position.

onListCleaned

public void onListCleaned(java.lang.Object list)
Description copied from interface: IMapping
Executes the mapping when all the elements of the source were removed.

Parameters:
list - The list before the cleaning, i.e. it still contains all the elements in order to know which elements have been removed.

init

public void init()
Description copied from interface: IMapping
At start, the mapping must be executed one time to initialise the binding between source and target objects.


onObjectReplaced

public void onObjectReplaced(IUnary<?> object,
                             java.lang.Object replcaedObject)
Description copied from interface: IMapping
Executes the mapping when an object has been replaced by an other one.

Parameters:
object - The singleton that contains the new object.
replcaedObject - The old object contained in the singleton that has been replaced.