JACK 5.4 JACOB Application Interface

aos.apib
Class StreamerSupport

java.lang.Object
  extended byaos.apib.StreamerSupport

public class StreamerSupport
extends java.lang.Object

The StreamerSupport class is a base class for all JACOB streamer support classes that are generated by the JACOB builder. This class keeps a number of public members that constitute the runtime definition of the JACOB class concerned, and includes a few utility methods that are useful for "JACOB reflection". The JACOB streamer support object for a JACOB class is obtained through the getStreamer() method of that class.


Field Summary
 StreamerSupport[][] __allowed
          The allowed element types of all fields of the supported JACOB class.
 java.lang.String __comment
          The class comment of the supported JACOB class.
 java.lang.String[] __display_names
          The display names of all fields of the supported JACOB class.
 aos.apib.EnumInfo[] __enuminfos
          The enum information of all fields of the supported JACOB class.
 java.lang.String[] __field_comments
          The comments of all fields of the supported JACOB class.
 boolean[] __field_hidden
          The hidden-flag of all fields of the supported JACOB class.
 boolean[] __field_inherited
          The inherited-flag of all fields of the supported JACOB class.
 java.lang.String[] __field_names
          The names of all fields of the supported JACOB class.
 boolean[] __field_static
          The static-flag of all fields of the supported JACOB class.
 java.lang.String[] __field_subtypes
          The sub types of all fields of the supported JACOB class.
 boolean[] __field_transient
          The transient-flag of all fields of the supported JACOB class.
 int[] __field_types
          The types of all fields of the supported JACOB class.
 java.lang.String __icon
          The icon to show for this type.
 java.lang.String __type
          The name of the supported JACOB class.
 int longest_field
          Keeps the size of the longest field name.
 
Constructor Summary
StreamerSupport()
           
 
Method Summary
 void addMapping(java.lang.String in, java.lang.String out)
           
 aos.apib.ApibTraverser breadthFirstTraverser(Base b)
           
static void delayInitialization()
           
 aos.apib.ApibTraverser depthFirstTraverser(Base b)
           
 aos.apib.ApibTraverser depthFirstTraverser(Base b, boolean visitFirst, aos.apib.TraversalController tr)
           
 boolean derivedFrom(StreamerSupport s)
           
static StreamerSupport[] findBaseStreamer(java.lang.Class cl)
           
 Base getBaseClass(Base b, int i)
           
 StreamerSupport getBaseClassStreamer()
           
 Base getDefaultInstance()
           
 java.lang.Object getField(Base o, int field_number)
           
 java.lang.Class getStreamedType()
           
static StreamerSupport getStreamer(java.lang.String s)
           
 java.lang.String getType()
           
static void initApib()
           
static void initJacob()
           
 boolean isDefault(Base o)
          This method determines if the instance passed is the same as the default value.
 boolean isFieldAtomic(int field_number)
           
 Base[] new_array(int n)
           
 Base new_instance()
           
 int nFields()
          Returns the number of fields of the supported JACOB class.
 boolean read(InStream in, Base o)
          Method to read in the object.
 boolean readField(InStream in, Base o, int field_number)
           
static void retarget(java.lang.String[][] tlist)
           
static void retarget(java.lang.String name, java.lang.String target)
           
 void setStreamedType(java.lang.Class t)
           
 java.lang.String toString()
           
 void traverseBreadthFirst(Base b)
           
 void traverseBreadthFirst(Base b, boolean visitFirst, aos.apib.TraversalController tr)
           
 void traverseDepthFirst(Base b)
           
 void traverseDepthFirst(Base b, boolean visitFirst, aos.apib.TraversalController tr)
           
 boolean write(OutStream out, Base o)
          Method to write out the object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

__type

public java.lang.String __type
The name of the supported JACOB class. This is from the :name field in the JACOB API file.


__icon

public java.lang.String __icon
The icon to show for this type.


__comment

public java.lang.String __comment
The class comment of the supported JACOB class. This is from the :comment field in the JACOB API file.


__field_names

public java.lang.String[] __field_names
The names of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :name field of the Field objects.


__display_names

public java.lang.String[] __display_names
The display names of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :label field of the Field objects.


__field_types

public int[] __field_types
The types of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :type field of the Field objects.


__field_subtypes

public java.lang.String[] __field_subtypes
The sub types of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :subtype field of the Field objects. This is non-null only for :class, :aggregation, and :enum fields.


__enuminfos

public aos.apib.EnumInfo[] __enuminfos
The enum information of all fields of the supported JACOB class. EnumInfo objects are created from Enum declarations, and provides translation between member names and values. The enuminfos array provides links to the appropriate EnumInfo objects for fields of type :enum.


__field_hidden

public boolean[] __field_hidden
The hidden-flag of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :hidden field of the Field objects.


__field_static

public boolean[] __field_static
The static-flag of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :static field of the Field objects.


__field_inherited

public boolean[] __field_inherited
The inherited-flag of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :inherited field of the Field objects.


__field_transient

public boolean[] __field_transient
The transient-flag of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :transient field of the Field objects.


longest_field

public int longest_field
Keeps the size of the longest field name. Used for pretty-printing.


__field_comments

public java.lang.String[] __field_comments
The comments of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :comment field of the Field objects.


__allowed

public StreamerSupport[][] __allowed
The allowed element types of all fields of the supported JACOB class. This is from the :field fields in the JACOB API file, and stores the :allowed field of the Field objects.

Constructor Detail

StreamerSupport

public StreamerSupport()
Method Detail

addMapping

public void addMapping(java.lang.String in,
                       java.lang.String out)

delayInitialization

public static void delayInitialization()

initApib

public static void initApib()

initJacob

public static void initJacob()

getDefaultInstance

public Base getDefaultInstance()

getStreamer

public static StreamerSupport getStreamer(java.lang.String s)

retarget

public static void retarget(java.lang.String name,
                            java.lang.String target)

retarget

public static void retarget(java.lang.String[][] tlist)

getType

public java.lang.String getType()

getBaseClass

public Base getBaseClass(Base b,
                         int i)

findBaseStreamer

public static StreamerSupport[] findBaseStreamer(java.lang.Class cl)

isDefault

public boolean isDefault(Base o)
This method determines if the instance passed is the same as the default value.


new_instance

public Base new_instance()

new_array

public Base[] new_array(int n)

read

public boolean read(InStream in,
                    Base o)
Method to read in the object. The actual reading is left to the InStream methods but this method determines what type must be read and where to store it.


readField

public boolean readField(InStream in,
                         Base o,
                         int field_number)

write

public boolean write(OutStream out,
                     Base o)
Method to write out the object. The actual writing is left to the OutStream methods but this method determines what type must be written and the value.


getBaseClassStreamer

public StreamerSupport getBaseClassStreamer()

derivedFrom

public boolean derivedFrom(StreamerSupport s)

getStreamedType

public java.lang.Class getStreamedType()

setStreamedType

public void setStreamedType(java.lang.Class t)

toString

public java.lang.String toString()

isFieldAtomic

public boolean isFieldAtomic(int field_number)

getField

public java.lang.Object getField(Base o,
                                 int field_number)

nFields

public int nFields()
Returns the number of fields of the supported JACOB class.


depthFirstTraverser

public aos.apib.ApibTraverser depthFirstTraverser(Base b)

depthFirstTraverser

public aos.apib.ApibTraverser depthFirstTraverser(Base b,
                                                  boolean visitFirst,
                                                  aos.apib.TraversalController tr)

breadthFirstTraverser

public aos.apib.ApibTraverser breadthFirstTraverser(Base b)

traverseDepthFirst

public void traverseDepthFirst(Base b)

traverseDepthFirst

public void traverseDepthFirst(Base b,
                               boolean visitFirst,
                               aos.apib.TraversalController tr)

traverseBreadthFirst

public void traverseBreadthFirst(Base b)

traverseBreadthFirst

public void traverseBreadthFirst(Base b,
                                 boolean visitFirst,
                                 aos.apib.TraversalController tr)

JACK 5.4 JACOB Application Interface

Copyright (C) 1999-2008, Agent Oriented Software Pty. Ltd.

US Government Restricted Rights
The JACK Modules and relevant Software Material have been developed entirely at private expense and are accordingly provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of DFARS 252.227-7013 or subparagraph (c)(1) and (2) of the Commercial Computer Software Restricted Rights and 48 CFR 52.2270-19, as applicable.


Agent Oriented Software Pty. Ltd.     http://www.aosgrp.com
PO Box 639, Carlton South, Victoria 3053, Australia
Phone: +61 3 9349 5055, Fax: +61 3 9349 5088