Knopflerfish OSGi 5.2.0

org.osgi.service.command
Interface Converter


public interface Converter

A converter is a service that can help create specific object types from a string, and vice versa. The shell is capable of coercing arguments to the their proper type. However, sometimes commands require extra help to do this conversion. This service can implement a converter for a number of types. The command shell will rank these services in order of service.ranking and will then call them until one of the converters succeeds. TODO The javadoc in this class need a good scrub before release.

Version:
$Revision: 5654 $
ThreadSafe

Field Summary
static java.lang.String CONVERTER_CLASSES
          This property is a string, or array of strings, and defines the classes or interfaces that this converter recognizes.
static int INSPECT
          Print the object in detail.
static int LINE
          Print the object as a row in a table.
static int PART
          Print the value in a small format so that it is identifiable.
 
Method Summary
 java.lang.Object convert(java.lang.Class desiredType, java.lang.Object in)
          Convert an object to the desired type.
 java.lang.CharSequence format(java.lang.Object target, int level, Converter escape)
          Convert an object to a CharSequence object in the requested format.
 

Field Detail

CONVERTER_CLASSES

static final java.lang.String CONVERTER_CLASSES
This property is a string, or array of strings, and defines the classes or interfaces that this converter recognizes. Recognized classes can be converted from a string to a class and they can be printed in 3 different modes.

See Also:
Constant Field Values

INSPECT

static final int INSPECT
Print the object in detail. This can contain multiple lines.

See Also:
Constant Field Values

LINE

static final int LINE
Print the object as a row in a table. The columns should align for multiple objects printed beneath each other. The print may run over multiple lines but must not end in a CR.

See Also:
Constant Field Values

PART

static final int PART
Print the value in a small format so that it is identifiable. This printed format must be recognizable by the conversion method.

See Also:
Constant Field Values
Method Detail

convert

java.lang.Object convert(java.lang.Class desiredType,
                         java.lang.Object in)
                         throws java.lang.Exception
Convert an object to the desired type. Return null if the conversion can not be done. Otherwise return and object that extends the desired type or implements it.

Parameters:
desiredType - The type that the returned object can be assigned to
in - The object that must be converted
Returns:
An object that can be assigned to the desired type or null.
Throws:
java.lang.Exception

format

java.lang.CharSequence format(java.lang.Object target,
                              int level,
                              Converter escape)
                              throws java.lang.Exception
Convert an object to a CharSequence object in the requested format. The format can be INSPECT, LINE, or PART. Other values must throw IllegalArgumentException.

Parameters:
target - The object to be converted to a String
level - One of INSPECT, LINE, or PART.
escape - Use this object to format sub ordinate objects.
Returns:
A printed object of potentially multiple lines
Throws:
java.lang.Exception

Knopflerfish OSGi 5.2.0