001: /*
002: *
003: * Copyright 2007 Luca Molino (luca.molino@assetdata.it)
004: *
005: * Licensed under the Apache License, Version 2.0 (the "License");
006: * you may not use this file except in compliance with the License.
007: * You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.romaframework.module.users.domain.portal;
018:
019: import java.util.HashMap;
020: import java.util.Map;
021:
022: import org.romaframework.aspect.core.annotation.AnnotationConstants;
023: import org.romaframework.aspect.view.ViewConstants;
024: import org.romaframework.aspect.view.annotation.ViewField;
025: import org.romaframework.module.users.domain.BaseAccount;
026:
027: /**
028: * Class that rapresents the portlet configuration
029: *
030: * @author l.molino
031: *
032: */
033: public class PortalPreferences {
034:
035: @ViewField(visible=AnnotationConstants.FALSE)
036: protected BaseAccount account;
037:
038: @ViewField(render=ViewConstants.RENDER_TABLE)
039: protected Map<String, PortletList> portletsInfos = new HashMap<String, PortletList>();
040:
041: /**
042: * It creates a new instance of PortlaPreferences for specified account
043: *
044: * @param iAccount the account associated with this preferences
045: */
046: public PortalPreferences(BaseAccount iAccount) {
047: account = iAccount;
048: }
049:
050: /**
051: * Method that returns the <code>BaseAccount</code> of this preferences
052: *
053: * @return the account of this preferences
054: * @see BaseAccount
055: */
056: public BaseAccount getAccount() {
057: return account;
058: }
059:
060: /**
061: * Method that sets the <code>BaseAccount</code> of this preferences
062: *
063: * @param account the account of this preferences
064: * @see BaseAccount
065: */
066: public void setAccount(BaseAccount account) {
067: this .account = account;
068: }
069:
070: /**
071: * Method that returns a map that contains portlet configuration
072: *
073: * @return the map of portlet configuration, mapped by the name of the contaier
074: */
075: public Map<String, PortletList> getPortletsInfos() {
076: return portletsInfos;
077: }
078:
079: /**
080: *
081: * Method that sets the map containing portlet configurations
082: *
083: * @param portlets the map containing portlet configurations
084: */
085: public void setPortletsInfos(Map<String, PortletList> portlets) {
086: this .portletsInfos = portlets;
087: }
088:
089: @Override
090: public boolean equals(Object o) {
091: if (!(o instanceof PortalPreferences))
092: return false;
093: else {
094: PortalPreferences other = (PortalPreferences) o;
095: if (account != null)
096: return account.equals(other.account);
097: else
098: return other.account == null;
099: }
100: }
101:
102: @Override
103: public int hashCode() {
104: if (account != null)
105: return account.hashCode();
106: else
107: return 0;
108: }
109:
110: }
|