Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.structure.menuitem; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import org.apache.commons.lang.builder.HashCodeBuilder; import com.enonic.cms.core.AbstractIntegerBasedKey; public class MenuItemKey extends AbstractIntegerBasedKey { public MenuItemKey(String key) { init(key); } public MenuItemKey(int key) { init(key); } public MenuItemKey(Integer key) { init(key); } @Override protected int minAllowedValue() { return -1; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } MenuItemKey that = (MenuItemKey) o; if (intValue != that.intValue()) { return false; } return true; } public int hashCode() { return new HashCodeBuilder(653, 213).append(intValue).toHashCode(); } public static MenuItemKey parse(String str) { if (str == null) { return null; } return new MenuItemKey(str); } public static Collection<MenuItemKey> converToList(int[] array) { if ((array == null) || (array.length == 0)) { return new ArrayList<MenuItemKey>(); } Collection<MenuItemKey> list = new ArrayList<MenuItemKey>(array.length); for (int value : array) { list.add(new MenuItemKey(value)); } return list; } public static String convertToCommaSeparatedString(Collection<MenuItemKey> keys) { StringBuffer s = new StringBuffer(); for (Iterator<MenuItemKey> it = keys.iterator(); it.hasNext();) { MenuItemKey menuItemKey = it.next(); s.append(menuItemKey); if (it.hasNext()) { s.append(","); } } return s.toString(); } }