All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ibm.as400.vaccess.VSystemValueList Maven / Gradle / Ivy

The newest version!
///////////////////////////////////////////////////////////////////////////////
//                                                                             
// JTOpen (IBM Toolbox for Java - OSS version)                              
//                                                                             
// Filename: VSystemValueList.java
//                                                                             
// The source code contained herein is licensed under the IBM Public License   
// Version 1.0, which has been approved by the Open Source Initiative.         
// Copyright (C) 1997-2000 International Business Machines Corporation and     
// others. All rights reserved.                                                
//                                                                             
///////////////////////////////////////////////////////////////////////////////

package com.ibm.as400.vaccess;

import com.ibm.as400.access.AS400;
import com.ibm.as400.access.SystemValueList;
import com.ibm.as400.access.SystemValue;

import javax.swing.Icon;

import java.beans.VetoableChangeListener;
import java.beans.PropertyChangeListener;

import java.beans.PropertyVetoException;


import javax.swing.table.TableColumnModel;
import java.io.ObjectInputStream;
import javax.swing.tree.TreeNode;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;

import java.util.Enumeration;


/**
 * The VSystemValueList class defines the representation of a 
 * system value list in a system for use in various models 
 * and panes in this package.
 * You must explicitly call load() to load the information from
 * the system.
 * 
 * 

Most errors are reported as ErrorEvents rather than * throwing exceptions. Users should listen for ErrorEvents * in order to diagnose and recover from error conditions. * *

VSystemValueList objects generate the following events: *

    *
  • ErrorEvent *
  • PropertyChangeEvent *
  • VObjectEvent *
  • WorkingEvent *
@deprecated Use Java Swing instead, along with the classes in package com.ibm.as400.access **/ public class VSystemValueList implements VNode, java.io.Serializable { private static final String copyright = "Copyright (C) 1997-2000 International Business Machines Corporation and others."; // Properties. private SystemValueList systemValueList_; private VNode parent_; // Private data. private transient VNode[] children_; // These are VSystemValueGroups // Event support. private transient ErrorEventSupport errorEventSupport_; private transient PropertyChangeSupport propertyChangeSupport_; private transient VetoableChangeSupport vetoableChangeSupport_; private transient VObjectEventSupport objectEventSupport_; private transient WorkingEventSupport workingEventSupport_; // Static data. private static String description_; private static Icon icon16_; private static Icon icon32_; private static TableColumnModel detailsColumnModel_; private static String nameColumnHeader_; private static String descriptionColumnHeader_; // MRI final private static String groupName_; final private static String groupDescription_; final private static int groupCount_ = SystemValueList.getGroupCount(); static { description_ = (String)ResourceLoader.getText("SYSTEM_VALUE_LIST_DESCRIPTION"); groupName_ = (String)ResourceLoader.getText("COLUMN_GROUP"); groupDescription_= (String)ResourceLoader.getText("COLUMN_DESCRIPTION"); icon16_= ResourceLoader.getIcon("VSystemValueList16.gif", description_); icon32_= ResourceLoader.getIcon("VSystemValueList32.gif", description_); nameColumnHeader_ = groupName_; descriptionColumnHeader_ = groupDescription_; detailsColumnModel_= new DefaultTableColumnModel(); int i= 0; // These are the columns to display for the children. // The children are VSystemValueGroups. // Name Column VTableColumn vTable1= new VTableColumn(i++, NAME_PROPERTY); vTable1.setCellRenderer(((TableCellRenderer)new VObjectCellRenderer())); vTable1.setHeaderRenderer(((TableCellRenderer)new VObjectHeaderRenderer())); vTable1.setHeaderValue(nameColumnHeader_); vTable1.setPreferredCharWidth(10); detailsColumnModel_.addColumn(((TableColumn)vTable1)); // Description Column VTableColumn vTable2= new VTableColumn(i++, DESCRIPTION_PROPERTY); vTable2.setCellRenderer(((TableCellRenderer)new VObjectCellRenderer())); vTable2.setHeaderRenderer(((TableCellRenderer)new VObjectHeaderRenderer())); vTable2.setHeaderValue(descriptionColumnHeader_); vTable2.setPreferredCharWidth(40); detailsColumnModel_.addColumn(((TableColumn)vTable2)); } /** * Constructs a VSystemValueList object. **/ public VSystemValueList() { systemValueList_ = new SystemValueList(); initializeTransient(); } /** * Constructs a VSystemValueList object. * @param system The system. **/ public VSystemValueList(AS400 system) { systemValueList_ = new SystemValueList(system); initializeTransient(); } /** * Constructs a VSystemValueList object. * @param parentNode The parent node. * @param system The system. **/ public VSystemValueList(VNode parentNode, AS400 system) { if (parentNode == null) throw new NullPointerException("parent"); systemValueList_ = new SystemValueList(system); parent_ = parentNode; initializeTransient(); } /** * Adds a listener to be notified when an error occurs. * @param listener The listener. **/ public void addErrorListener(ErrorListener listener) { errorEventSupport_.addErrorListener(listener); } /** * Adds a listener to be notified when the value of any bound * property changes. * @param listener The listener. **/ public void addPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport_.addPropertyChangeListener(listener); } /** * Adds a listener to be notified when the value of any constrained * property changes. * @param listener The listener. **/ public void addVetoableChangeListener(VetoableChangeListener listener) { vetoableChangeSupport_.addVetoableChangeListener(listener); } /** * Adds a listener to be notified when a VObject is changed, * created, or deleted. * @param listener The listener. **/ public void addVObjectListener(VObjectListener listener) { objectEventSupport_.addVObjectListener(listener); } /** * Adds a listener to be notified when work starts and stops * on potentially long-running operations. * @param listener The listener. **/ public void addWorkingListener(WorkingListener listener) { workingEventSupport_.addWorkingListener(listener); } /** * Returns the children of the node. * * @return The children. **/ public Enumeration children() { return (Enumeration)(new VEnumeration(this)); } /** * Returns the list of actions that can be performed. * * @return Always null. There are no actions. * **/ public VAction[] getActions() { return null; } /** * Indiciates if the node allows children. * * @return Always true. **/ public boolean getAllowsChildren() { return true; } /** * Returns the child node at the specified index. * * @param index The index. * @return The child node at the specified index. **/ public TreeNode getChildAt(int index) { if (index < 0 || index >= children_.length) { return null; } return (TreeNode)children_[index]; } /** * Returns the number of the children. * * @return The number of the children. **/ public int getChildCount() { return children_.length; } /** * Returns the default action. * * @return Always null. There is no default action. **/ public VAction getDefaultAction() { return null; } /** * Returns the child for the details at the specified index. * * @param index The index. * @return The child, or null if the index is not * valid. **/ public VObject getDetailsChildAt(int index) { if (index < 0 || index >= children_.length) { return null; } return children_[index]; } /** * Returns the number of children for the details. * * @return The number of children for the details. **/ public int getDetailsChildCount() { return children_.length; } /** * Returns the table column model to be used in the details * when representing the children. This column model * describes the details values for the children. * * @return The details column model. **/ public TableColumnModel getDetailsColumnModel() { return detailsColumnModel_; } /** * Returns the index of the specified child for the details. * * @param detailsChild The details child. * @return The index, or -1 if the child is not found * in the details. **/ public int getDetailsIndex(VObject detailsChild) { for (int i=0; i < groupCount_; i++) { if (children_[i] == detailsChild) { return i; } } return -1; } /** * Returns the icon. * * @param size The icon size, either 16 or 32. If any other * value is given, then returns a default. * @param open This parameter has no effect. * @return The icon. **/ public Icon getIcon(int size, boolean open) { if (size != 32) { return icon16_; } return icon32_; } /** * Returns the index of the specified child. * * @param child The child. * @return The index of the specified child. **/ public int getIndex(TreeNode child) { for (int index=0; index < groupCount_; index++) { if (children_[index] == child) { return index; } } return -1; } /** * Returns the parent node. * * @return The parent node, or null if there is no parent. **/ public TreeNode getParent() { return parent_; } /** * Returns the properties pane. * * @return The properties pane. **/ public VPropertiesPane getPropertiesPane() { return null; } /** * Returns a property value. * * @param propertyIdentifier The property identifier. * The choices are *
    *
  • NAME_PROPERTY *
  • DESCRIPTION_PROPERTY *
* @return The property value, or null if the * property identifier is not recognized. **/ public Object getPropertyValue(Object propertyIdentifier) { if (propertyIdentifier == NAME_PROPERTY) { return this; } if (propertyIdentifier == DESCRIPTION_PROPERTY) { return description_; } return null; } /** * Returns the system in which the system * values resides. * * @return The system in which the system * values resides. * * @see com.ibm.as400.access.SystemValueList **/ public AS400 getSystem() { return systemValueList_.getSystem(); } /** * Returns the system value list. * @return The SystemValueList object. **/ public SystemValueList getSystemValueList() { return systemValueList_; } /** * Returns the text representation of the system value list. * * @return The text representation of the system value list. **/ public String getText() { return description_; } /** * Initializes the transient data. **/ private void initializeTransient() { errorEventSupport_= new ErrorEventSupport(this); objectEventSupport_= new VObjectEventSupport(this); propertyChangeSupport_= new PropertyChangeSupport(this); vetoableChangeSupport_= new VetoableChangeSupport(this); workingEventSupport_= new WorkingEventSupport(this); children_ = new VSystemValueGroup[groupCount_]; for (int i=0; i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy