org.malai.mapping
Class Unary2UnaryMapping<S,T>

java.lang.Object
  extended by org.malai.mapping.Unary2UnaryMapping<S,T>
Type Parameters:
S - The type of the source unary relation of the mapping.
T - The type of the target unary relation of the mapping.
All Implemented Interfaces:
IMapping
Direct Known Subclasses:
TempShape2TempViewMapping

public abstract class Unary2UnaryMapping<S,T>
extends java.lang.Object
implements IMapping

This interface defines the concept of mapping that link a source value (unary relation) to a target one.

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
protected  IUnary<S> sourceObject
          The source unary relation of the mapping.
protected  IUnary<T> targetObject
          The target unary relation of the mapping.
 
Constructor Summary
Unary2UnaryMapping(IUnary<S> source, IUnary<T> target)
          Creates a unary relation to unary relation mapping.
 
Method Summary
 void clear()
          Removes the references of the mapped objects of the mapping to avoid memory leaks.
 java.lang.Object getSource()
          Returns the source object of the mapping.
 java.lang.Object getTarget()
          Returns the target object of the mapping.
 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 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.malai.mapping.IMapping
onObjectModified, onObjectReplaced
 

Field Detail

sourceObject

protected IUnary<S> sourceObject
The source unary relation of the mapping.


targetObject

protected IUnary<T> targetObject
The target unary relation of the mapping.

Constructor Detail

Unary2UnaryMapping

public Unary2UnaryMapping(IUnary<S> source,
                          IUnary<T> target)
Creates a unary relation to unary relation mapping.

Parameters:
source - The source unary relation.
target - The target unary relation.
Since:
0.2
Method Detail

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.

Specified by:
onObjectAdded in interface IMapping
Parameters:
list - The modified source list.
object - The added object.
index - The position where the object has been added. -1 = the last position.

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.

Specified by:
onObjectMoved in interface IMapping
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.

Specified by:
onObjectRemoved in interface IMapping
Parameters:
list - The modified source list.
object - The deleted object.
index - The position where the object has been deleted. -1 = the last position.

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.

Specified by:
init in interface IMapping

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.

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

clear

public void clear()
Description copied from interface: IMapping
Removes the references of the mapped objects of the mapping to avoid memory leaks.

Specified by:
clear in interface IMapping

getSource

public java.lang.Object getSource()
Description copied from interface: IMapping
Returns the source object of the mapping. If there is several source objects, a collection is returned.

Specified by:
getSource in interface IMapping
Returns:
The source object of the mapping.

getTarget

public java.lang.Object getTarget()
Description copied from interface: IMapping
Returns the target object of the mapping. If there is several target objects, a collection is returned.

Specified by:
getTarget in interface IMapping
Returns:
The source object of the mapping.