Rename TagData as SimpleTagData and TagDataCore as TagData.

This commit is contained in:
Christian P. MOMON 2013-06-23 18:03:53 +02:00
parent 8928ad2f6f
commit f7bf01a1d2
9 changed files with 238 additions and 238 deletions

View file

@ -3,7 +3,7 @@
*/ */
import fr.devinsy.xidyn.TagDataManager; import fr.devinsy.xidyn.TagDataManager;
import fr.devinsy.xidyn.TagData; import fr.devinsy.xidyn.SimpleTagData;
import fr.devinsy.xidyn.StringPresenter; import fr.devinsy.xidyn.StringPresenter;
/** /**
@ -220,7 +220,7 @@ class XidDemo
System.out.println("=>"); System.out.println("=>");
// #05.1 // #05.1
data.setIterationStrategy("identities", TagData.IterationStrategy.ONLY_FIRST_ROW); data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_FIRST_ROW);
System.out.println("ONLY_FIRST_ROW:"); System.out.println("ONLY_FIRST_ROW:");
StringBuffer html; StringBuffer html;
try try
@ -236,7 +236,7 @@ class XidDemo
System.out.println(""); System.out.println("");
// #05.2 // #05.2
data.setIterationStrategy("identities", TagData.IterationStrategy.ONLY_FIRST_TWO_ROWS); data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_FIRST_TWO_ROWS);
System.out.println("ONLY_FIRST_TWO_ROWS:"); System.out.println("ONLY_FIRST_TWO_ROWS:");
try try
{ {
@ -251,7 +251,7 @@ class XidDemo
System.out.println(""); System.out.println("");
// #05.3 // #05.3
data.setIterationStrategy("identities", TagData.IterationStrategy.ONLY_ROWS_WITH_ID); data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_ROWS_WITH_ID);
System.out.println("ONLY_ROWS_WITH_ID:"); System.out.println("ONLY_ROWS_WITH_ID:");
try try
{ {
@ -266,7 +266,7 @@ class XidDemo
System.out.println(""); System.out.println("");
// #05.4 // #05.4
data.setIterationStrategy("identities", TagData.IterationStrategy.ONLY_ROWS_WITHOUT_ID); data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ONLY_ROWS_WITHOUT_ID);
System.out.println("ONLY_ROWS_WITHOUT_ID:"); System.out.println("ONLY_ROWS_WITHOUT_ID:");
try try
{ {
@ -281,7 +281,7 @@ class XidDemo
System.out.println(""); System.out.println("");
// #05.5 // #05.5
data.setIterationStrategy("identities", TagData.IterationStrategy.ALL_ROWS); data.setIterationStrategy("identities", SimpleTagData.IterationStrategy.ALL_ROWS);
System.out.println("ALL_ROWS:"); System.out.println("ALL_ROWS:");
try try
{ {

View file

@ -672,12 +672,12 @@ public class Presenter
static protected void processChildren(final Writer result, final Node node, final TagsDataById datas, final String suffix) throws Exception static protected void processChildren(final Writer result, final Node node, final TagsDataById datas, final String suffix) throws Exception
{ {
// Get the iteration strategy. // Get the iteration strategy.
TagData.IterationStrategy strategy; SimpleTagData.IterationStrategy strategy;
NamedNodeMap attributes = node.getAttributes(); NamedNodeMap attributes = node.getAttributes();
if (attributes == null) if (attributes == null)
{ {
strategy = TagData.IterationStrategy.ALL_ROWS; strategy = SimpleTagData.IterationStrategy.ALL_ROWS;
} }
else else
{ {
@ -685,23 +685,23 @@ public class Presenter
if (id == null) if (id == null)
{ {
strategy = TagData.IterationStrategy.ALL_ROWS; strategy = SimpleTagData.IterationStrategy.ALL_ROWS;
} }
else else
{ {
TagDataCore dataCore = datas.getId(id.getNodeValue()); TagData dataCore = datas.getId(id.getNodeValue());
if (dataCore == null) if (dataCore == null)
{ {
strategy = TagData.IterationStrategy.ALL_ROWS; strategy = SimpleTagData.IterationStrategy.ALL_ROWS;
} }
else if (dataCore instanceof TagData) else if (dataCore instanceof SimpleTagData)
{ {
TagData data = (TagData) dataCore; SimpleTagData data = (SimpleTagData) dataCore;
strategy = data.iterationStrategy(); strategy = data.iterationStrategy();
} }
else else
{ {
strategy = TagData.IterationStrategy.ALL_ROWS; strategy = SimpleTagData.IterationStrategy.ALL_ROWS;
} }
} }
} }
@ -877,15 +877,15 @@ public class Presenter
logger.debug("tag=" + tag); logger.debug("tag=" + tag);
// Get data of this id. // Get data of this id.
TagDataCore dataCore = datas.get(idAttr.getNodeValue()); TagData dataCore = datas.get(idAttr.getNodeValue());
if (dataCore == null) if (dataCore == null)
{ {
Presenter.processElementBasically(result, node, datas, suffix); Presenter.processElementBasically(result, node, datas, suffix);
} }
else if (dataCore instanceof TagData) else if (dataCore instanceof SimpleTagData)
{ {
TagData data = (TagData) dataCore; SimpleTagData data = (SimpleTagData) dataCore;
String theClass = data.attributes().getAttribute("class"); String theClass = data.attributes().getAttribute("class");
@ -933,9 +933,9 @@ public class Presenter
int nbLines = tags.size(); int nbLines = tags.size();
for (int nLine = 0; nLine < nbLines; nLine++) for (int nLine = 0; nLine < nbLines; nLine++)
{ {
if (tags.elementAt(nLine) instanceof TagData) if (tags.elementAt(nLine) instanceof SimpleTagData)
{ {
TagData data = (TagData) tags.elementAt(nLine); SimpleTagData data = (SimpleTagData) tags.elementAt(nLine);
// Open the tag. // Open the tag.
result.append("<"); result.append("<");

View file

@ -0,0 +1,176 @@
package fr.devinsy.xidyn;
import java.io.Serializable;
/**
* IdData class is used to hold application data and the business logic that
* operates on the data.
*
* The only requirement of a IdData class is that it must implement a display
* method. The display method must return a text representation of the data,
* suitable for display in a web page.
*
* XID provides a User Input IdData, Text IdData and ... application may also
* implement it's own IdData classes.
*
*/
public class SimpleTagData implements Serializable, TagData
{
public enum IterationStrategy
{
ONLY_FIRST_ROW, ONLY_FIRST_TWO_ROWS, ONLY_ROWS_WITH_ID, ONLY_ROWS_WITHOUT_ID, ALL_ROWS
}
public enum MODE
{
REPLACE, APPEND, IGNORE
}
private static final long serialVersionUID = 8976245034682639923L;;
private IterationStrategy iterationStrategy;
private TagAttributes attributes;
private boolean excludeSection;
private MODE displayMode = MODE.REPLACE;
private String content;
/**
*
*/
public SimpleTagData()
{
this.attributes = null;
this.excludeSection = false;
this.displayMode = MODE.REPLACE;
this.content = null;
this.iterationStrategy = IterationStrategy.ALL_ROWS;
}
/**
*
*/
public SimpleTagData(final String text)
{
this.attributes = null;
this.excludeSection = false;
this.displayMode = MODE.REPLACE;
this.content = text;
this.iterationStrategy = IterationStrategy.ALL_ROWS;
}
/**
*
*/
public void appendContent(final String text)
{
if (this.content == null)
{
this.content = text;
}
else
{
this.content += text;
}
}
/**
*
*/
public TagAttributes attributes()
{
TagAttributes result;
if (this.attributes == null)
{
this.attributes = new TagAttributes();
}
result = this.attributes;
//
return (result);
}
/**
*
*/
public String display()
{
String result;
result = this.content;
//
return (result);
}
/**
*
*/
public MODE displayMode()
{
MODE result;
result = this.displayMode;
return (result);
}
/**
*
*/
public boolean excludeSection()
{
boolean result;
result = excludeSection;
//
return (result);
}
/**
*
*/
public IterationStrategy iterationStrategy()
{
IterationStrategy result;
result = this.iterationStrategy;
//
return (result);
}
/**
*
*/
public void setContent(final String text)
{
this.content = text;
}
/**
*
*/
public void setDisplayMode(final MODE displayMode)
{
this.displayMode = displayMode;
}
/**
*
*/
public void setExcludeSection(final boolean excludeSection)
{
this.excludeSection = excludeSection;
}
/**
*
*/
public void setIterationStrategy(final IterationStrategy strategy)
{
this.iterationStrategy = strategy;
}
}

View file

@ -1,176 +1,15 @@
package fr.devinsy.xidyn; package fr.devinsy.xidyn;
import java.io.Serializable; /*
* Xid uses three class to describe data:
/** * - TagData
* IdData class is used to hold application data and the business logic that * - TagsData
* operates on the data. * - TagsDataById
* Others class that doesn't extends these won't be use by Xid.
* *
* The only requirement of a IdData class is that it must implement a display * This interface helps to express this fact.
* method. The display method must return a text representation of the data,
* suitable for display in a web page.
*
* XID provides a User Input IdData, Text IdData and ... application may also
* implement it's own IdData classes.
* *
*/ */
public class TagData implements Serializable, TagDataCore public interface TagData
{ {
public enum IterationStrategy
{
ONLY_FIRST_ROW, ONLY_FIRST_TWO_ROWS, ONLY_ROWS_WITH_ID, ONLY_ROWS_WITHOUT_ID, ALL_ROWS
}
public enum MODE
{
REPLACE, APPEND, IGNORE
}
private static final long serialVersionUID = 8976245034682639923L;;
private IterationStrategy iterationStrategy;
private TagAttributes attributes;
private boolean excludeSection;
private MODE displayMode = MODE.REPLACE;
private String content;
/**
*
*/
public TagData()
{
this.attributes = null;
this.excludeSection = false;
this.displayMode = MODE.REPLACE;
this.content = null;
this.iterationStrategy = IterationStrategy.ALL_ROWS;
}
/**
*
*/
public TagData(final String text)
{
this.attributes = null;
this.excludeSection = false;
this.displayMode = MODE.REPLACE;
this.content = text;
this.iterationStrategy = IterationStrategy.ALL_ROWS;
}
/**
*
*/
public void appendContent(final String text)
{
if (this.content == null)
{
this.content = text;
}
else
{
this.content += text;
}
}
/**
*
*/
public TagAttributes attributes()
{
TagAttributes result;
if (this.attributes == null)
{
this.attributes = new TagAttributes();
}
result = this.attributes;
//
return (result);
}
/**
*
*/
public String display()
{
String result;
result = this.content;
//
return (result);
}
/**
*
*/
public MODE displayMode()
{
MODE result;
result = this.displayMode;
return (result);
}
/**
*
*/
public boolean excludeSection()
{
boolean result;
result = excludeSection;
//
return (result);
}
/**
*
*/
public IterationStrategy iterationStrategy()
{
IterationStrategy result;
result = this.iterationStrategy;
//
return (result);
}
/**
*
*/
public void setContent(final String text)
{
this.content = text;
}
/**
*
*/
public void setDisplayMode(final MODE displayMode)
{
this.displayMode = displayMode;
}
/**
*
*/
public void setExcludeSection(final boolean excludeSection)
{
this.excludeSection = excludeSection;
}
/**
*
*/
public void setIterationStrategy(final IterationStrategy strategy)
{
this.iterationStrategy = strategy;
}
} }

View file

@ -1,15 +0,0 @@
package fr.devinsy.xidyn;
/*
* Xid uses three class to describe data:
* - TagData
* - TagsData
* - TagsDataById
* Others class that doesn't extends these won't be use by Xid.
*
* This interface helps to express this fact.
*
*/
public interface TagDataCore
{
}

View file

@ -20,7 +20,7 @@ public class TagDataManager
*/ */
public void appendAttribute(final String id, final int line, final String column, final String label, final String value) public void appendAttribute(final String id, final int line, final String column, final String label, final String value)
{ {
TagData tag = this.getIdData(id, line, column); SimpleTagData tag = this.getIdData(id, line, column);
tag.attributes().appendAttribute(label, value); tag.attributes().appendAttribute(label, value);
} }
@ -38,7 +38,7 @@ public class TagDataManager
*/ */
public void appendAttribute(final String id, final String label, final String value) public void appendAttribute(final String id, final String label, final String value)
{ {
TagData tag = this.getIdData(id); SimpleTagData tag = this.getIdData(id);
tag.attributes().appendAttribute(label, value); tag.attributes().appendAttribute(label, value);
} }
@ -56,7 +56,7 @@ public class TagDataManager
*/ */
public void appendContent(final String id, final int line, final String value) public void appendContent(final String id, final int line, final String value)
{ {
TagData tag = this.getIdData(id, line); SimpleTagData tag = this.getIdData(id, line);
tag.appendContent(value); tag.appendContent(value);
} }
@ -74,7 +74,7 @@ public class TagDataManager
*/ */
public void appendContent(final String id, final int line, final String column, final String value) public void appendContent(final String id, final int line, final String column, final String value)
{ {
TagData tag = this.getIdData(id, line, column); SimpleTagData tag = this.getIdData(id, line, column);
tag.appendContent(value); tag.appendContent(value);
} }
@ -82,18 +82,18 @@ public class TagDataManager
/** /**
* *
*/ */
public TagData getIdData(final String id) public SimpleTagData getIdData(final String id)
{ {
TagData result; SimpleTagData result;
// Be sure that IdData is existing and get item. // Be sure that IdData is existing and get item.
result = (TagData) this.idsDataById.getId(id); result = (SimpleTagData) this.idsDataById.getId(id);
if (result == null) if (result == null)
{ {
this.idsDataById.setId(id, new TagData()); this.idsDataById.setId(id, new SimpleTagData());
result = (TagData) this.idsDataById.getId(id); result = (SimpleTagData) this.idsDataById.getId(id);
} }
// //
@ -103,9 +103,9 @@ public class TagDataManager
/** /**
* *
*/ */
public TagData getIdData(final String id, final int line) public SimpleTagData getIdData(final String id, final int line)
{ {
TagData result; SimpleTagData result;
// Be sure that IdsData are existing. // Be sure that IdsData are existing.
TagsDataByIndex tags = (TagsDataByIndex) this.idsDataById.getId(id); TagsDataByIndex tags = (TagsDataByIndex) this.idsDataById.getId(id);
@ -120,11 +120,11 @@ public class TagDataManager
int nbLines = tags.size(); int nbLines = tags.size();
for (int nLine = nbLines; nLine < line + 1; nLine++) for (int nLine = nbLines; nLine < line + 1; nLine++)
{ {
tags.add(nLine, new TagData()); tags.add(nLine, new SimpleTagData());
} }
// Get item. // Get item.
result = (TagData) tags.elementAt(line); result = (SimpleTagData) tags.elementAt(line);
// //
return (result); return (result);
@ -133,9 +133,9 @@ public class TagDataManager
/** /**
* *
*/ */
public TagData getIdData(final String id, final int line, final String column) public SimpleTagData getIdData(final String id, final int line, final String column)
{ {
TagData result; SimpleTagData result;
// Be sure that IdsData are existing. // Be sure that IdsData are existing.
TagsDataByIndex tags = (TagsDataByIndex) this.idsDataById.getId(id); TagsDataByIndex tags = (TagsDataByIndex) this.idsDataById.getId(id);
@ -156,13 +156,13 @@ public class TagDataManager
// Get item. // Get item.
TagsDataById lineData = (TagsDataById) tags.elementAt(line); TagsDataById lineData = (TagsDataById) tags.elementAt(line);
result = (TagData) lineData.get(column); result = (SimpleTagData) lineData.get(column);
if (result == null) if (result == null)
{ {
lineData.put(column, new TagData()); lineData.put(column, new SimpleTagData());
result = (TagData) lineData.get(column); result = (SimpleTagData) lineData.get(column);
} }
// //
@ -195,7 +195,7 @@ public class TagDataManager
*/ */
public void setAttribute(final String id, final int line, final String label, final String value) public void setAttribute(final String id, final int line, final String label, final String value)
{ {
TagData tag = this.getIdData(id, line); SimpleTagData tag = this.getIdData(id, line);
tag.attributes().setAttribute(label, value); tag.attributes().setAttribute(label, value);
} }
@ -213,7 +213,7 @@ public class TagDataManager
*/ */
public void setAttribute(final String id, final int line, final String column, final String label, final String value) public void setAttribute(final String id, final int line, final String column, final String label, final String value)
{ {
TagData tag = this.getIdData(id, line, column); SimpleTagData tag = this.getIdData(id, line, column);
tag.attributes().setAttribute(label, value); tag.attributes().setAttribute(label, value);
} }
@ -231,7 +231,7 @@ public class TagDataManager
*/ */
public void setAttribute(final String id, final String label, final String value) public void setAttribute(final String id, final String label, final String value)
{ {
TagData tag = this.getIdData(id); SimpleTagData tag = this.getIdData(id);
tag.attributes().setAttribute(label, value); tag.attributes().setAttribute(label, value);
} }
@ -257,7 +257,7 @@ public class TagDataManager
*/ */
public void setContent(final String id, final int line, final String content) public void setContent(final String id, final int line, final String content)
{ {
TagData tag = this.getIdData(id, line); SimpleTagData tag = this.getIdData(id, line);
tag.setContent(content); tag.setContent(content);
} }
@ -285,7 +285,7 @@ public class TagDataManager
*/ */
public void setContent(final String id, final int line, final String column, final String content) public void setContent(final String id, final int line, final String column, final String content)
{ {
TagData tag = this.getIdData(id, line, column); SimpleTagData tag = this.getIdData(id, line, column);
tag.setContent(content); tag.setContent(content);
} }
@ -295,7 +295,7 @@ public class TagDataManager
*/ */
public void setContent(final String id, final String content) public void setContent(final String id, final String content)
{ {
TagData idData = this.getIdData(id); SimpleTagData idData = this.getIdData(id);
idData.setContent(content); idData.setContent(content);
} }
@ -303,9 +303,9 @@ public class TagDataManager
/** /**
* *
*/ */
public void setIterationStrategy(final String id, final TagData.IterationStrategy strategy) public void setIterationStrategy(final String id, final SimpleTagData.IterationStrategy strategy)
{ {
TagData tag = this.getIdData(id); SimpleTagData tag = this.getIdData(id);
tag.setIterationStrategy(strategy); tag.setIterationStrategy(strategy);
} }

View file

@ -5,7 +5,7 @@ import java.util.HashMap;
/** /**
* *
*/ */
public class TagsDataById extends HashMap<String, TagDataCore> implements TagDataCore public class TagsDataById extends HashMap<String, TagData> implements TagData
{ {
private static final long serialVersionUID = -5787252043825503554L; private static final long serialVersionUID = -5787252043825503554L;
@ -21,9 +21,9 @@ public class TagsDataById extends HashMap<String, TagDataCore> implements TagDat
/** /**
* *
*/ */
public TagDataCore getId(final String id) public TagData getId(final String id)
{ {
TagDataCore result; TagData result;
result = this.get(id); result = this.get(id);
@ -34,7 +34,7 @@ public class TagsDataById extends HashMap<String, TagDataCore> implements TagDat
/** /**
* *
*/ */
public void setId(final String id, final TagDataCore data) public void setId(final String id, final TagData data)
{ {
this.put(id, data); this.put(id, data);
} }

View file

@ -5,7 +5,7 @@ import java.util.Vector;
/** /**
* *
*/ */
public class TagsDataByIndex extends Vector<TagDataCore> implements TagDataCore public class TagsDataByIndex extends Vector<TagData> implements TagData
{ {
private static final long serialVersionUID = 215545720925753884L; private static final long serialVersionUID = 215545720925753884L;

View file

@ -3,7 +3,7 @@
*/ */
import fr.devinsy.xidyn.TagDataManager; import fr.devinsy.xidyn.TagDataManager;
import fr.devinsy.xidyn.TagData; import fr.devinsy.xidyn.SimpleTagData;
import fr.devinsy.xidyn.StringPresenter; import fr.devinsy.xidyn.StringPresenter;
/** /**
@ -55,7 +55,7 @@ class XidTest
System.out.println("Automatic test action for Xid!"); System.out.println("Automatic test action for Xid!");
TagDataManager datas; TagDataManager datas;
TagData tag; SimpleTagData tag;
String htmlSource; String htmlSource;
StringBuffer html; StringBuffer html;