Interface Converter

  • All Known Implementing Classes:
    CommandSessionImpl

    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.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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 objet 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 objet 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