Re: [SMW-devel] ArrayAccessor

2013-08-14 Thread Jeroen De Dauw
I'm not against wrapping an array. My concern with the current approach is
that it exposes all lot of not needed methods that replacements will have
to implement. Simply implementing iterator would be better then deriving
from arrayobject. At least when the actual class is being passed around
rather then an interface such as iterator.

Sent from my HTC one X.
On 8 Aug, 2013 4:04 PM, James HK jamesin.hongkon...@gmail.com wrote:

 Hi,

 ArrayAccessor is used in several classes[1] to conveniently access an
 array through object methods. Of course one could make use of the
 ArrayObject directly but one would need to implement the expectation
 handling individually for when an expected element is not accessible.

 Accessing an array blindly by the means of checking things manually
 like if ( isset( array[$key])  ... ) {} where ArrayAccessor or
 ArrayObject allows to focus on the task of accessing a value
 $this-has( $key ), $this-get( $key ) instead of checking its
 validity and later try to gain access.

 I'm not a fan of having something like array( 'beAKey' = 'beAValue' )
 being transferred beyond an object that invokes the array. An array
 that communicates to the outside of its own instantiation should be
 encapsulate in an object that carries the array.

  And when one does not need it, it is better to not have it, and stick
 with the simplest implementation possible.

 If we don't want to use ArrayObject, I might have to create a similar
 object handler, as I said before doing array( 'key' = 'value' ) by
 hand creates all sorts of problems which starts with the validation,
 raising exception, and retrieving of its value.

  The get method of this class is throwing an InvalidArgumentException
 Fair enough.

 [1] Settings, MockObjectBuilder, Collector, ApiRequestParameterFormatter

 Cheers

 On 8/8/13, Jeroen De Dauw jeroended...@gmail.com wrote:
  Hey,
 
  I'm not sure what the use for the newly introduced ArrayAccessor class
 is.
  It seems to not be providing a lot of functionality on top of
 ArrayObject.
  And I found that one rarely actually needs the functionality ArrayObject
  provides. And when one does not need it, it is better to not have it, and
  stick with the simplest implementation possible.
 
  The get method of this class is throwing an InvalidArgumentException
 when a
  non-existing element is requested. This is wrong, as the provided
 argument
  is not invalid. An OutOfBoundsException would work.
 
  Cheers
 
  --
  Jeroen De Dauw
  http://www.bn2vs.com
  Don't panic. Don't be evil. ~=[,,_,,]:3
  --
 

--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with 2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk___
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel


[SMW-devel] ArrayAccessor

2013-08-08 Thread Jeroen De Dauw
Hey,

I'm not sure what the use for the newly introduced ArrayAccessor class is.
It seems to not be providing a lot of functionality on top of ArrayObject.
And I found that one rarely actually needs the functionality ArrayObject
provides. And when one does not need it, it is better to not have it, and
stick with the simplest implementation possible.

The get method of this class is throwing an InvalidArgumentException when a
non-existing element is requested. This is wrong, as the provided argument
is not invalid. An OutOfBoundsException would work.

Cheers

--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--
--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with 2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk___
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel


Re: [SMW-devel] ArrayAccessor

2013-08-08 Thread James HK
Hi,

ArrayAccessor is used in several classes[1] to conveniently access an
array through object methods. Of course one could make use of the
ArrayObject directly but one would need to implement the expectation
handling individually for when an expected element is not accessible.

Accessing an array blindly by the means of checking things manually
like if ( isset( array[$key])  ... ) {} where ArrayAccessor or
ArrayObject allows to focus on the task of accessing a value
$this-has( $key ), $this-get( $key ) instead of checking its
validity and later try to gain access.

I'm not a fan of having something like array( 'beAKey' = 'beAValue' )
being transferred beyond an object that invokes the array. An array
that communicates to the outside of its own instantiation should be
encapsulate in an object that carries the array.

 And when one does not need it, it is better to not have it, and stick with 
 the simplest implementation possible.

If we don't want to use ArrayObject, I might have to create a similar
object handler, as I said before doing array( 'key' = 'value' ) by
hand creates all sorts of problems which starts with the validation,
raising exception, and retrieving of its value.

 The get method of this class is throwing an InvalidArgumentException
Fair enough.

[1] Settings, MockObjectBuilder, Collector, ApiRequestParameterFormatter

Cheers

On 8/8/13, Jeroen De Dauw jeroended...@gmail.com wrote:
 Hey,

 I'm not sure what the use for the newly introduced ArrayAccessor class is.
 It seems to not be providing a lot of functionality on top of ArrayObject.
 And I found that one rarely actually needs the functionality ArrayObject
 provides. And when one does not need it, it is better to not have it, and
 stick with the simplest implementation possible.

 The get method of this class is throwing an InvalidArgumentException when a
 non-existing element is requested. This is wrong, as the provided argument
 is not invalid. An OutOfBoundsException would work.

 Cheers

 --
 Jeroen De Dauw
 http://www.bn2vs.com
 Don't panic. Don't be evil. ~=[,,_,,]:3
 --


--
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with 2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk
___
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel