net.sf.latexdraw.mapping
Class ShapeList2ExporterMapping

java.lang.Object
  extended by net.sf.latexdraw.mapping.ShapeList2ExporterMapping
All Implemented Interfaces:
IMapping

public class ShapeList2ExporterMapping
extends java.lang.Object
implements IMapping

Creates a mapping between a list of shapes and the instrument exporter.

This file is part of LaTeXDraw.
Copyright (c) 2005-2012 Arnaud BLOUIN

LaTeXDraw 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.
LaTeXDraw 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/24/2010

Since:
3.0
Author:
Arnaud BLOUIN

Field Summary
protected  Exporter exporter
          The instrument exporter to update.
protected  java.util.List<IShape> shapes
          The list of shapes to listen.
 
Constructor Summary
ShapeList2ExporterMapping(java.util.List<IShape> shapes, Exporter exporter)
          Creates a mapping between a list of shapes and the instrument exporter.
 
Method Summary
 void clear()
          Removes the references of the mapped objects of the mapping to avoid memory leaks.
 java.util.List<IShape> getSource()
          Returns the source object of the mapping.
 Exporter 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 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 replacedObject)
          Executes the mapping when an object has been replaced by an other one.
protected  void updateExporter()
          Updates the activation of the instrument exporter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shapes

protected java.util.List<IShape> shapes
The list of shapes to listen.


exporter

protected Exporter exporter
The instrument exporter to update.

Constructor Detail

ShapeList2ExporterMapping

public ShapeList2ExporterMapping(java.util.List<IShape> shapes,
                                 Exporter exporter)
Creates a mapping between a list of shapes and the instrument exporter.

Parameters:
shapes - The list of shapes.
exporter - The instrument exporter to update.
Throws:
java.lang.IllegalArgumentException - If one of the given parameters is null.
Since:
3.0
Method Detail

updateExporter

protected void updateExporter()
Updates the activation of the instrument exporter.

Since:
3.0

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.

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.

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.

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.

onObjectReplaced

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

Specified by:
onObjectReplaced in interface IMapping
Parameters:
object - The singleton that contains the new object.
replacedObject - The old object contained in the singleton that has been replaced.

onObjectModified

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

Specified by:
onObjectModified in interface IMapping
Parameters:
object - The modified object.

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

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.util.List<IShape> 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 Exporter 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.