/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.log; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.apache.commons.lang.builder.HashCodeBuilder; import com.enonic.cms.core.InvalidKeyException; public class LogEntryKey implements Serializable { private String key; public LogEntryKey( String value ) { if ( value == null ) { throw new InvalidKeyException( value, this.getClass() ); } this.key = value; } public boolean equals( Object o ) { if ( this == o ) { return true; } if ( o == null || getClass() != o.getClass() ) { return false; } LogEntryKey logKey = (LogEntryKey) o; return this.key.equals( logKey.key ); } public int hashCode() { final int initialNonZeroOddNumber = 675; final int multiplierNonZeroOddNumber = 349; return new HashCodeBuilder( initialNonZeroOddNumber, multiplierNonZeroOddNumber ).append( key ).toHashCode(); } public static Collection<LogEntryKey> convertToList( String key ) { Collection<LogEntryKey> list = new ArrayList<LogEntryKey>( 1 ); list.add( new LogEntryKey( key ) ); return list; } public static Collection<LogEntryKey> convertToList( String[] array ) { if ( array == null || array.length == 0 ) { return null; } Collection<LogEntryKey> list = new ArrayList<LogEntryKey>( array.length ); for ( String value : array ) { list.add( new LogEntryKey( value ) ); } return list; } public static List<LogEntryKey> convertToList( Collection<String> collection ) { if ( collection == null || collection.size() == 0 ) { return null; } List<LogEntryKey> list = new ArrayList<LogEntryKey>( collection.size() ); for ( String value : collection ) { list.add( new LogEntryKey( value ) ); } return list; } public String toString() { return key; } }