Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.structure.page.template; import java.io.Serializable; import org.apache.commons.lang.builder.HashCodeBuilder; import com.enonic.cms.core.InvalidKeyException; /** * */ public class PageTemplateKey implements Serializable { private final int intValue; private final String stringValue; public PageTemplateKey(final String key) throws InvalidKeyException { try { final int value = Integer.parseInt(key); this.intValue = value; this.stringValue = String.valueOf(value); } catch (NumberFormatException e) { throw new InvalidKeyException(key, this.getClass()); } } public PageTemplateKey(final int key) { this.intValue = key; this.stringValue = String.valueOf(key); } public int toInt() { return intValue; } public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof PageTemplateKey)) { return false; } PageTemplateKey that = (PageTemplateKey) o; if (intValue != that.intValue) { return false; } return true; } public int hashCode() { return new HashCodeBuilder(95, 187).append(intValue).toHashCode(); } public String toString() { return stringValue; } public static PageTemplateKey parse(final String str) { if (str == null) { return null; } return new PageTemplateKey(str); } }