List is a Collection with the additional semantics of being ordered. Set is
a Collection with the additional semantics of having no duplicates.

So is the order of the plugins significant? If not it should be Collection
or Iterable (or possibly Set) rather than List. If the order is
significant, we should keep it as List.

On Tue, Jan 12, 2016 at 12:59 PM, Mikael Ståldal <[email protected]>
wrote:

> If you want it more generic, it should be Iterable rather than Iterator.
>
> On Tue, Jan 12, 2016 at 6:34 AM, sampath kumar <[email protected]>
> wrote:
>
>> You Can still achieve enhanced for loop using iterator by using following
>> modification.
>>
>> I apologize if this thread going in different context. We can go with
>> either List or Set depending on the Requirement.
>>
>> *Code Snippet:*
>>
>> import java.util.HashSet;
>> import java.util.Iterator;
>> import java.util.Set;
>>
>> public class PluginIterator implements Iterable<PluginIterator.Plugin> {
>>
>>   static class Plugin {
>>     String name;
>>     Plugin(String name) {
>>       this.name = name;
>>     }
>>     public String toString() {
>>       return "Plugin{" + name + "}";
>>     }
>>   }
>>
>>   Set<Plugin> set = new HashSet<Plugin>();
>>
>>   public void addPenguin(Plugin p) {
>>     set.add(p);
>>   }
>>
>>   public Iterator<Plugin> getPlugins() {
>>     return set.iterator();
>>   }
>>
>>   public Iterator<Plugin> iterator() {
>>     return getPlugins();
>>   }
>>
>>   public static void main(String args[]) {
>> PluginIterator pluginIterators = new PluginIterator();
>> Plugin plugin1 = new Plugin("Plugin-1");
>> Plugin plugin2 = new Plugin("Plugin-2");
>> Plugin plugin3 = new Plugin("Plugin-3");
>> Plugin plugin4 = new Plugin("Plugin-4");
>> pluginIterators.addPenguin(plugin1);
>> pluginIterators.addPenguin(plugin2);
>> pluginIterators.addPenguin(plugin3);
>> pluginIterators.addPenguin(plugin4);
>>     for (Plugin p : pluginIterators) {
>>       System.out.println(p);
>>     }
>>   }
>> }
>>
>> On Tue, Jan 12, 2016 at 10:24 AM, Gary Gregory <[email protected]>
>> wrote:
>>
>>> I dislike this iterator business very much, and you can't use it in a
>>> for each loop.
>>>
>>> Gary
>>>
>>> On Mon, Jan 11, 2016 at 8:46 PM, sampath kumar <[email protected]>
>>> wrote:
>>>
>>>> How about this, Unmodifiable Iterator
>>>>
>>>> Iterator<String> getPluginPackages();
>>>>
>>>> On Tue, Jan 12, 2016 at 9:50 AM, Gary Gregory <[email protected]>
>>>> wrote:
>>>>
>>>>> List<String> getPluginPackages();
>>>>>
>>>>> G
>>>>>
>>>>> On Mon, Jan 11, 2016 at 8:12 PM, Paul Benedict <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Thu can only use Set if you have a notion of equality and comparison.
>>>>>> Do you for this collection?
>>>>>> On Jan 11, 2016 9:48 PM, "Gary Gregory" <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Well, not really, I'd like to express whether the collection allows
>>>>>>> for duplicates or not, if not, use a set.
>>>>>>>
>>>>>>> Gary
>>>>>>>
>>>>>>> On Mon, Jan 11, 2016 at 7:08 PM, Matt Sicker <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Even a Collection works well for this.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Monday, 11 January 2016, Gary Gregory <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> On Mon, Jan 11, 2016 at 5:19 PM, Ralph Goers <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> It is returning a List already.  Does it really matter much?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> It is not indeed critical. It's just a finer point of declaring
>>>>>>>>> the intention of the data model, either duplicates are allowed and
>>>>>>>>> expected, or not.
>>>>>>>>>
>>>>>>>>> Gary
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Ralph
>>>>>>>>>>
>>>>>>>>>> On Jan 11, 2016, at 6:04 PM, Gary Gregory <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Should APIs like:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> org.apache.logging.log4j.core.config.Configuration.getPluginPackages()
>>>>>>>>>>
>>>>>>>>>> really return a List instead of a Set?
>>>>>>>>>>
>>>>>>>>>> Gary
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> E-Mail: [email protected] | [email protected]
>>>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>>>> <http://www.manning.com/bauer3/>
>>>>>>>>>> JUnit in Action, Second Edition
>>>>>>>>>> <http://www.manning.com/tahchiev/>
>>>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>>>>>> Blog: http://garygregory.wordpress.com
>>>>>>>>>> Home: http://garygregory.com/
>>>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> E-Mail: [email protected] | [email protected]
>>>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>>>> <http://www.manning.com/bauer3/>
>>>>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>>>>> Blog: http://garygregory.wordpress.com
>>>>>>>>> Home: http://garygregory.com/
>>>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Matt Sicker <[email protected]>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> E-Mail: [email protected] | [email protected]
>>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>>> <http://www.manning.com/bauer3/>
>>>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>>>> Blog: http://garygregory.wordpress.com
>>>>>>> Home: http://garygregory.com/
>>>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> E-Mail: [email protected] | [email protected]
>>>>> Java Persistence with Hibernate, Second Edition
>>>>> <http://www.manning.com/bauer3/>
>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>> Blog: http://garygregory.wordpress.com
>>>>> Home: http://garygregory.com/
>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Sampath
>>>>
>>>
>>>
>>>
>>> --
>>> E-Mail: [email protected] | [email protected]
>>> Java Persistence with Hibernate, Second Edition
>>> <http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>>
>>
>> --
>> Regards,
>> Sampath
>>
>
>
>
> --
> [image: MagineTV]
>
> *Mikael Ståldal*
> Senior software developer
>
> *Magine TV*
> [email protected]
> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>
> Privileged and/or Confidential Information may be contained in this
> message. If you are not the addressee indicated in this message
> (or responsible for delivery of the message to such a person), you may not
> copy or deliver this message to anyone. In such case,
> you should destroy this message and kindly notify the sender by reply
> email.
>



-- 
[image: MagineTV]

*Mikael Ståldal*
Senior software developer

*Magine TV*
[email protected]
Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com

Privileged and/or Confidential Information may be contained in this
message. If you are not the addressee indicated in this message
(or responsible for delivery of the message to such a person), you may not
copy or deliver this message to anyone. In such case,
you should destroy this message and kindly notify the sender by reply
email.

Reply via email to