Class RS::Converter::RSConverter
In: rsil/converter/rsconverter.rb
Parent: Object
RSTripel RSRectangle RSObjcWrapper RSImageUnit RSImageList RSILRMagickConverter RSILTkConverter RSConverter RSProperties RSImageProperties RSPoint RSDimension Array RSVector RSFilter RSColor RSImage\n[rsil/extension/rsimageextension.rb\nrsil/graphics/rsimage.rb] RSImageX Comparable RSAbstractConverter Enumerable Test::Unit::TestCase RSTestPoint RSTestFilter RSTestImage RSTestExtension RSTestDimension RSTestVector RSTestImageUnit RSTestImageProperties RSTestColor RSTestRectangle RSTestProperties RSTestImageList RSTestConverter RSTestComparison RSTestStress RSTestUseCases RSTestTripel RSTestScenarios MonitorMixin Benchmark StandardError Assertion RSEXIFProperties RSTests rsil/geometry/rsdimension.rb rsil/geometry/rspoint.rb rsil/geometry/rsvector.rb rsil/geometry/rsrectangle.rb rsil/geometry/rstripel.rb Geometry rsil/graphics/rsfilter.rb rsil/graphics/rsimagelist.rb rsil/graphics/rscolor.rb rsil/graphics/rsimageunit.rb rsil/extension/rsimagex.rb rsil/graphics/rsimage.rb Graphics rsil/converter/rsconverter.rb rsil/converter/rsabstractconverter.rb rsil/converter/rsiltkconverter.rb rsil/converter/rsilrmagickconverter.rb Converter rsil/test/rstestusecases.rb rsil/test/rstestcolor.rb rsil/test/rstestdimension.rb rsil/test/rstestfilter.rb rsil/test/rstestpoint.rb rsil/test/rstestconverter.rb rsil/test/rstestimagelist.rb rsil/test/rstestimageproperties.rb rsil/test/rstestscenarios.rb rsil/test/rstestvector.rb rsil/test/rstesttripel.rb rsil/test/rstestproperties.rb rsil/test/rstestimageunit.rb rsil/test/rstestextension.rb rsil/test/rstestimage.rb rsil/test/rsteststress.rb rsil/test/rstestcomparison.rb rsil/test/rstestrectangle.rb rsil/test/rstests.rb Test rsil/extension/rsextension.rb Extension rsil/utils/rsimageproperties.rb rsil/utils/rsobjcwrapper.rb rsil/utils/rsproperties.rb rsil/utils/rsexifproperties.rb Utils RS Module: RS

Class:RSConverter
File:rsconverter.rb
Purpose:RSConverter represents a manager and delegator for concrete RAbstractConverters. The manager holds uniq values.
Created by:Mario Pehle, 2006/04/28
Required modules:-
Offers functions:converting objects, managing of converters

Methods

add   add_converter   convert   converts?   each   new   remove   remove_converter  

Included Modules

Enumerable RS::Extension

Attributes

converters  [R]  is an Array saving each added concrete converter, does not hold removed converters.

Public Class methods

Description:Creates a RSConverter.
Precondition:-
Postcondition:@converters is set.
Exceptions:-
Uses:@converters, RSILRMagickConverter, RSILTkConverter
Returns:self
Parameters:Name | i/o/io | default | Meaning

[Source]

    # File rsil/converter/rsconverter.rb, line 48
48:   def initialize
49:     @converters = []
50:     @converters << RS::Converter::RSILRMagickConverter.new
51:     @converters << RS::Converter::RSILTkConverter.new
52:     self
53:   end

Public Instance methods

Description:Adds a converter.
Precondition:-
Postcondition:@converters is changed
Exceptions:-
Uses:Array#<<, Array#uniq
Returns:value if valid, else nil
Parameters:Name | i/o/io | default | Meaning
:converter | i | - | RSAbstractConverter, the converter to add

[Source]

    # File rsil/converter/rsconverter.rb, line 68
68:   def add converter
69:     if converter.kind_of? RS::Converter::RSAbstractConverter
70:       @converters << converter
71:       @converters.uniq!
72:       return converter
73:     end
74:     nil
75:   end
add_converter(converter)

Alias for add

Description:Converts an object to an object of specified class. Delegates the job to one of the subscribed converters.
Precondition:-
Postcondition:-
Exceptions:-
Uses:@converters, RS..Converter#converts?, RS..Converer.convert
Returns:Object if converted and nil if no converter can convert
Parameters:Name | i/o/io | default | Meaning
:object | i | - | The object to convert from
:klass | o | - | The class the converted object should be from

[Source]

    # File rsil/converter/rsconverter.rb, line 91
91:   def convert object, klass
92:     @converters.each { |converter|
93:       return converter.convert(object, klass) if converter.converts?(object, klass)
94:     }
95:     nil
96:   end
Description:Checks, whether it is possible to convert a given object to an object of the given class. Delegates the job to one of the subscribed converters.
Precondition:-
Postcondition:-
Exceptions:-
Uses:@converters
Returns:true if object can be converted, else false
Parameters:Name | i/o/io | default | Meaning
:object | i | - | Object, the object to convert
:klass | o | - | Class, the class to convert object

[Source]

     # File rsil/converter/rsconverter.rb, line 112
112:   def converts? object, klass
113:     converts = false
114:     @converters.each do |converter|
115:       converts = converter.converts?(object, klass) unless converts
116:     end
117:     converts
118:   end
Description:Yields each converter.
Precondition:-
Postcondition:Depending on the call, @converters is changed.
Exceptions:-
Uses:-
Returns:self
Parameters:Name | i/o/io | default | Meaning

[Source]

     # File rsil/converter/rsconverter.rb, line 151
151:   def each
152:     @converters.each { |converter| yield converter }
153:   end
Description:Removes converter.
Precondition:-
Postcondition:@converters is changed.
Exceptions:-
Uses:Array#delete
Returns:self
Parameters:Name | i/o/io | default | Meaning
:converter | i | - | RSAbstractConverter, the converter to remove

[Source]

     # File rsil/converter/rsconverter.rb, line 134
134:   def remove converter
135:     @converters.delete(converter)
136:     self
137:   end
remove_converter(converter)

Alias for remove

[Validate]