usage of Guava and Fugue requires imports with FQN

Issue #15 resolved
Frank Kootte created an issue

As an frequent user of Fugue ( and Guava ) I have found the naming of classes in Fugue a bit troublesome.

Some code requires usage of the Iterables class from both libs. This is where some pain is encountered as we are forced to use either the FQN within the code or imports of the static utility function. The former doesnt contribute to the readability while the latter 'obfuscates' the origin of the method. Obviously this is easily resolved by any IDE but I would really prefer the naming of the Fugue Iterables class like Guava does with the Collections class by naming it Collections2.

Is it an option to either rename the class or maintain a copy of it with the name Iterables2 and alike for Functions etc ?

I think the best way to achieve this this is too amend te maven build and have it make a renamed copy of Iterables and Functions and have the original onces be annotated as @Deprecated. This way no extra effort for synchronisation and keeping stuff in sync is required while catering for a solution that resolves my 'issue'.

Comments (8)

  1. Jed Wesley-Smith

    We've never come up with a really good solution to this, some methods are aliased so we can just call from the fugue version, but it is otherwise a pain. In practice we have seen people create their own simple aliases and use those.

  2. Frank Kootte reporter

    I would think a simple copy rename addition to the maven build would be quite easy to add right ?

  3. Jed Wesley-Smith

    I'm afraid I do not ever find any non-trivial addition to Maven builds easy (for that matter, even trivial ones are often not easy).

  4. Log in to comment