/* BookChannelTreeNode.java created 2008-02-23
*
*/
package org.signalml.app.model.book;
import static org.signalml.app.util.i18n.SvarogI18n._;
import java.beans.IntrospectionException;
import java.util.LinkedList;
import java.util.List;
import org.signalml.app.model.components.LabelledPropertyDescriptor;
import org.signalml.app.model.components.PropertyProvider;
import org.signalml.domain.book.BookAtomType;
import org.signalml.domain.book.StandardBookAtom;
import org.springframework.context.MessageSourceResolvable;
/** BookChannelTreeNode
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class BookAtomTreeNode implements PropertyProvider, MessageSourceResolvable {
private StandardBookAtom atom;
private int index;
public BookAtomTreeNode(StandardBookAtom atom, int index) {
this.atom = atom;
this.index = index;
}
public StandardBookAtom getAtom() {
return atom;
}
public int getIndex() {
return index;
}
public int getIteration() {
return atom.getIteration();
}
public float getAmplitude() {
return atom.getAmplitude();
}
public float getFrequency() {
return atom.getHzFrequency();
}
public float getModulus() {
return atom.getModulus();
}
public float getPhase() {
return atom.getPhase();
}
public float getPosition() {
return atom.getTimePosition();
}
public float getScale() {
return atom.getTimeScale();
}
public BookAtomType getType() {
return BookAtomType.valueOf(atom.getType());
}
@Override
public List<LabelledPropertyDescriptor> getPropertyList() throws IntrospectionException {
LinkedList<LabelledPropertyDescriptor> list = new LinkedList<LabelledPropertyDescriptor>();
list.add(new LabelledPropertyDescriptor(_("iteration"), "iteration", BookAtomTreeNode.class, "getIteration", null));
list.add(new LabelledPropertyDescriptor(_("type"), "type", BookAtomTreeNode.class, "getType", null));
list.add(new LabelledPropertyDescriptor(_("modulus"), "modulus", BookAtomTreeNode.class, "getModulus", null));
list.add(new LabelledPropertyDescriptor(_("amplitude"), "amplitude", BookAtomTreeNode.class, "getAmplitude", null));
list.add(new LabelledPropertyDescriptor(_("position"), "position", BookAtomTreeNode.class, "getPosition", null));
list.add(new LabelledPropertyDescriptor(_("scale"), "scale", BookAtomTreeNode.class, "getScale", null));
list.add(new LabelledPropertyDescriptor(_("frequency"), "frequency", BookAtomTreeNode.class, "getFrequency", null));
list.add(new LabelledPropertyDescriptor(_("phase"), "phase", BookAtomTreeNode.class, "getPhase", null));
return list;
}
@Override
public Object[] getArguments() {
return new Object[] { new Integer(getIteration()), new Float(atom.getModulus()), new Float(atom.getTimePosition()), new Float(atom.getHzFrequency()) };
}
@Override
public String[] getCodes() {
return new String[] { "bookTree.atom" };
}
@Override
public String getDefaultMessage() {
return "BookAtom ???";
}
}