pmp.macro.java
Class ObjectManager

java.lang.Object
  extended by pmp.macro.java.ObjectManager

final class ObjectManager
extends java.lang.Object

Internal class for manipulation with objects.

This class keeps track of created objects. It is used by all macros from package pmp.macro.java.

Objects are identified by string identifiers. See OBJECT_IDENTIFIER.

Title: PMP: Macroprocessor

Description: Java macroprocessor

Copyright: Copyright (c) 2005

Version:
1.0
Author:
Luděk Hlaváček

Field Summary
(package private) static java.lang.String OBJ_ID_CLASSNAME
           
(package private) static java.lang.String OBJ_ID_INDEX
           
(package private) static char OBJ_ID_SEPARATOR
           
(package private) static java.lang.String OBJECT_IDENTIFIER
          Pattern which matches object identifiers.
(package private) static java.util.Map<java.lang.String,java.lang.String> primitives
          Map of primitives and associated wrapper classes.
 
Method Summary
(package private)  java.lang.String addNullObject(java.lang.String className)
          Adds null object to list.
(package private)  java.lang.String addObject(java.lang.Object object)
          Adds object to list.
(package private)  java.lang.String extractClassName(java.lang.String object)
          Extracts class name from object identifier.
(package private)  int extractObjectId(java.lang.String object)
          Extracts object number from object identifier.
(package private)  java.lang.Class[] getClasses(java.lang.String[] args, int start)
          Converts array of object identifiers to array of appropriate Class objects.
static ObjectManager getInstance()
          Returns instance of ObjectManager object
(package private)  java.lang.Object getObject(java.lang.String objectId)
          Returns object with specified index.
(package private)  java.lang.Object[] getObjects(java.lang.String[] args, int start)
          Fetches objects with given identifiers as Object array.
(package private) static boolean testCompatibility(java.lang.Class<?>[] args, java.lang.Class<?>[] values)
          Returns true if it is possible to call method with formal parameter types given in args and actual parameters given in values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OBJ_ID_SEPARATOR

static final char OBJ_ID_SEPARATOR
See Also:
Constant Field Values

OBJ_ID_CLASSNAME

static final java.lang.String OBJ_ID_CLASSNAME
See Also:
Constant Field Values

OBJ_ID_INDEX

static final java.lang.String OBJ_ID_INDEX
See Also:
Constant Field Values

OBJECT_IDENTIFIER

static final java.lang.String OBJECT_IDENTIFIER
Pattern which matches object identifiers. Valid identifiers consist of class name, character "@" and index in object list. Valid identifier might look like java.lang.Long@15.

See Also:
Constant Field Values

primitives

static final java.util.Map<java.lang.String,java.lang.String> primitives
Map of primitives and associated wrapper classes.

Method Detail

getInstance

public static ObjectManager getInstance()
Returns instance of ObjectManager object

Returns:
universal instance of ObjectManager

extractClassName

java.lang.String extractClassName(java.lang.String object)
Extracts class name from object identifier.

Note: Object identifier is not checked for validity.

Parameters:
object - object identifier
Returns:
class name

extractObjectId

int extractObjectId(java.lang.String object)
Extracts object number from object identifier.

Note: Object identifier is not checked for validity.

Parameters:
object - object identifier
Returns:
class name extracted from object identifier

getClasses

java.lang.Class[] getClasses(java.lang.String[] args,
                             int start)
                       throws java.lang.ClassNotFoundException
Converts array of object identifiers to array of appropriate Class objects.

Parameters:
args - list of object identifiers
start - index of first identifier in args
Returns:
array of classes
Throws:
java.lang.ClassNotFoundException

testCompatibility

static boolean testCompatibility(java.lang.Class<?>[] args,
                                 java.lang.Class<?>[] values)
Returns true if it is possible to call method with formal parameter types given in args and actual parameters given in values.

Parameters:
args - parameters accepted by the method
values - values passed to the method
Returns:
true if it's ok

getObjects

java.lang.Object[] getObjects(java.lang.String[] args,
                              int start)
                        throws java.lang.ClassNotFoundException
Fetches objects with given identifiers as Object array.

Parameters:
args - array of object identifiers
start - index of first object identifier
Returns:
array of objects
Throws:
java.lang.ClassNotFoundException

addObject

java.lang.String addObject(java.lang.Object object)
Adds object to list.

Parameters:
object - Object to be added. Must not be null.
Returns:
object identifier
See Also:
OBJECT_IDENTIFIER

addNullObject

java.lang.String addNullObject(java.lang.String className)
                         throws java.lang.ClassNotFoundException
Adds null object to list.

Parameters:
className - Class of this null object.
Returns:
object identifier
Throws:
java.lang.ClassNotFoundException
See Also:
OBJECT_IDENTIFIER

getObject

java.lang.Object getObject(java.lang.String objectId)
Returns object with specified index.

Parameters:
objectId - index of object to be returned
Returns:
object retrieved from list or null when object not found