Format Programming in NMM

Motama GmbH, Saarbruecken, Germany

http://www.motama.com

April 2007

  Copyright (C) 2007,
  Motama GmbH, Saarbruecken, Germany
  http://www.motama.com
 
  Permission is granted to copy, distribute and/or modify this
  document under the terms of the GNU Free Documentation License,
  Version 1.2 or any later version published by the Free Software
  Foundation; with the Invariant Sections being all sections, no
  Front-Cover Texts, and no Back-Cover Texts. A copy of the license
  can be found in the file COPYING.FDL.

  THE DOCUMENT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
  NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE
  DISTRIBUTING THE DOCUMENT BE LIABLE FOR ANY DAMAGES OR OTHER
  LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
  OF OR IN CONNECTION WITH THE DOCUMENT OR THE USE OR OTHER DEALINGS
  IN THE DOCUMENT.


Table of Contents
1. Introduction
2. Format Specification
3. Parameter Values
4. Assigning Preferences

1. Introduction

In order to be able to connect nodes, their input and output formats have to match. The supported input and output formats have to be specified by the programmer of a plug-in. If a class is a subclass of GenericSourceNode, GenericFilterNode, GenericConverterNode, GenericProcessorNode, GenericDemultiplexerNode, GenericMultiplexer or GenericSinkNode (for short: 'the generic-classes'), you do not need to do a lot of programming. There are two places where you have to setup the formats of your node. First, the generally supported formats should be specifies in doInit() (use the methods getOwnInputProperty() or getOwnOutputProperty()). Secondly, formats specific to this instance of the node should be specified in doInitOutput() (use the methods getOwnWorkingInputProperty() or getOwnWorkingOutputProperty()).