001 package org.apache.tapestry.internal.pageload; 002 003 import java.io.Serializable; 004 import java.util.Locale; 005 006 /** 007 * Alterantive implementation of {@link org.apache.tapestry.util.MultiKey} that is specifically 008 * intended to be used to store and retrieve pages from a pool. 009 * 010 */ 011 public class PageKey implements Serializable { 012 013 String _pageName; 014 Locale _locale; 015 016 /** 017 * Constructs a new instance for the specified page / locale. 018 * @param pageName 019 * The page. 020 * @param locale 021 * Locale of the page. 022 */ 023 public PageKey(String pageName, Locale locale) 024 { 025 _pageName = pageName; 026 _locale = locale; 027 } 028 029 public String getPageName() 030 { 031 return _pageName; 032 } 033 034 public String toString() 035 { 036 return "PageKey[" + 037 "_pageName='" + _pageName + '\'' + 038 '\n' + 039 ", _locale=" + _locale + 040 '\n' + 041 ']'; 042 } 043 044 public boolean equals(Object o) 045 { 046 if (this == o) return true; 047 if (o == null || getClass() != o.getClass()) return false; 048 049 PageKey pageKey = (PageKey) o; 050 051 if (_locale != null ? !_locale.equals(pageKey._locale) : pageKey._locale != null) return false; 052 if (_pageName != null ? !_pageName.equals(pageKey._pageName) : pageKey._pageName != null) return false; 053 054 return true; 055 } 056 057 public int hashCode() 058 { 059 int result; 060 result = (_pageName != null ? _pageName.hashCode() : 0); 061 result = 31 * result + (_locale != null ? _locale.hashCode() : 0); 062 return result; 063 } 064 }