001: /*
002: * Copyright (c) 2004 JETA Software, Inc. All rights reserved.
003: *
004: * Redistribution and use in source and binary forms, with or without modification,
005: * are permitted provided that the following conditions are met:
006: *
007: * o Redistributions of source code must retain the above copyright notice,
008: * this list of conditions and the following disclaimer.
009: *
010: * o Redistributions in binary form must reproduce the above copyright notice,
011: * this list of conditions and the following disclaimer in the documentation
012: * and/or other materials provided with the distribution.
013: *
014: * o Neither the name of JETA Software nor the names of its contributors may
015: * be used to endorse or promote products derived from this software without
016: * specific prior written permission.
017: *
018: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
019: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
020: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
021: * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
022: * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
023: * INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
024: * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
025: * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
026: * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
027: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
028: */
029:
030: package com.jeta.forms.store.memento;
031:
032: import java.io.IOException;
033: import java.util.Collection;
034: import java.util.LinkedList;
035:
036: import com.jeta.forms.store.AbstractJETAPersistable;
037: import com.jeta.forms.store.JETAObjectInput;
038: import com.jeta.forms.store.JETAObjectOutput;
039: import com.jeta.open.support.EmptyCollection;
040:
041: /**
042: * Stores the focus policy for a form.
043: *
044: * @deprecated Focus is no longer supported by the designer.
045: *
046: * @author Jeff Tassin
047: */
048: public class FocusPolicyMemento extends AbstractJETAPersistable {
049: static final long serialVersionUID = -6821089968630851097L;
050:
051: /**
052: * The version of this class
053: */
054: public static final int VERSION = 1;
055:
056: private LinkedList m_focus_policy;
057:
058: /**
059: * ctor
060: */
061: public FocusPolicyMemento() {
062:
063: }
064:
065: /**
066: * @return a collection of focus keys (FocusKey objects) that describe the
067: * focus order for a given form
068: */
069: public Collection getFocusPolicyKeys() {
070: if (m_focus_policy == null)
071: return EmptyCollection.getInstance();
072: else
073: return m_focus_policy;
074: }
075:
076: /**
077: * Sets the focus order for a given form.
078: *
079: * @param focusKeys
080: * a collection of FocusKey objects
081: */
082: public void addFocusKey(FocusKey fKey) {
083: if (m_focus_policy == null)
084: m_focus_policy = new LinkedList();
085:
086: m_focus_policy.add(fKey);
087: }
088:
089: /**
090: * JETAPersistable Implementation
091: */
092: public void read(JETAObjectInput in) throws ClassNotFoundException,
093: IOException {
094: int version = in.readVersion();
095: m_focus_policy = (LinkedList) in.readObject("focuspolicy");
096: }
097:
098: /**
099: * JETAPersistable Implementation
100: */
101: public void write(JETAObjectOutput out) throws IOException {
102: out.writeVersion(VERSION);
103: out.writeObject("focuspolicy", m_focus_policy);
104: }
105:
106: }
|