com.ibm.as400.resource.Presentation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400 Show documentation
Show all versions of jt400 Show documentation
The Open Source version of the IBM Toolbox for Java
The newest version!
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: Presentation.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.resource;
import java.io.Serializable;
import java.util.Hashtable;
/**
Represents presentation information that
describes an object. This may include description text, help
text, and icons. In addition, customized information can also
be stored.
@deprecated Use packages com.ibm.as400.access and com.ibm.as400.access.list instead.
**/
public class Presentation
implements Serializable
{
static final long serialVersionUID = 4L;
// Private data.
private static final String EMPTY_STRING_ = "";
private String fullName_ = null;
private Object iconColor16_ = null;
private String iconColor16Name_ = null;
private Object iconColor32_ = null;
private String iconColor32Name_ = null;
private String name_ = EMPTY_STRING_;
private Hashtable values_ = new Hashtable();
/**
Constant indicating the presentation key for abbreviated name.
**/
public static final String NAME = "Name";
/**
Constant indicating the presentation key for full name.
**/
public static final String FULL_NAME = "Full Name";
/**
Constant indicating the presentation key for description text. If avaliable,
this represents a String value.
**/
public static final String DESCRIPTION_TEXT = "Description Text";
/**
Constant indicating the presentation key for help text. If avaliable,
this represents a String value.
**/
public static final String HELP_TEXT = "Help Text";
/**
Constant indicating the presentation key for a 16x16 color icon. If avaliable,
this represents a java.awt.Image value.
**/
public static final String ICON_COLOR_16x16 = "16";
/**
Constant indicating the presentation key for a 32x32 color icon. If avaliable,
this represents a java.awt.Image value.
**/
public static final String ICON_COLOR_32x32 = "32";
/**
Constructs a Presentation object.
**/
public Presentation()
{
}
/**
Constructs a Presentation object.
@param name The abbreviated name.
**/
public Presentation(String name)
{
if (name == null)
throw new NullPointerException("name");
name_ = name;
}
/**
Constructs a Presentation object.
@param name The abbreviated name.
@param fullName The full name.
**/
public Presentation(String name, String fullName)
{
if (name == null)
throw new NullPointerException("name");
if (fullName == null)
throw new NullPointerException("fullName");
name_ = name;
fullName_ = fullName;
}
/**
Converts a byte array to a String hexadecimal representation
using 2 characters for each byte.
@param bytes The byte array.
@return The String hexadecimal representation.
**/
//
// Implementation note: I stuck this method in this
// class for no particular reason other than it will
// be used most commonly for providing a hex representation
// of a byte array.
//
static String bytesToHex(byte[] bytes)
{
StringBuffer buffer = new StringBuffer();
buffer.append("0x");
for(int i = 0; i < bytes.length; ++i) {
int b = 0x000000ff & bytes[i];
if (b < 16)
buffer.append('0');
buffer.append(Integer.toHexString(b));
}
return buffer.toString();
}
/**
Returns the full name. The length of the full name is usually
greater than or equal to the abbreviated name.
@return The full name if a full name has been set,
or the abbreviated name if a full name has not been set.
**/
public String getFullName()
{
if (fullName_ != null)
return fullName_;
else
return name_;
}
/**
Returns the abbreviated name. The length of the abbreviated name is usually
less than or equal to the full name.
@return The abbreviated name.
**/
public String getName()
{
return name_;
}
/**
Returns a presentation value.
@param key The presentation key.
@return The presentation value, or null if no value for the key is set.
**/
public Object getValue(Object key)
{
if (key == null)
throw new NullPointerException("key");
// If the key is in the hashtable, just return its value.
if (values_.containsKey(key))
return values_.get(key);
// If the key is name or full name, then return it directly.
else if (key.equals(NAME))
return getName();
else if (key.equals(FULL_NAME))
return getFullName();
// If the key is for an icon, and the icon name is set, then
// load the icon and store it in the hashtable. We try to
// put off loading the icon until its asked for.
else if ((key.equals(ICON_COLOR_16x16)) && (iconColor16Name_ != null)) {
iconColor16_ = PresentationLoader.loadIcon(iconColor16Name_);
if (iconColor16_ != null)
values_.put(ICON_COLOR_16x16, iconColor16_);
return iconColor16_;
}
else if ((key.equals(ICON_COLOR_32x32)) && (iconColor32Name_ != null)) {
iconColor32_ = PresentationLoader.loadIcon(iconColor32Name_);
if (iconColor32_ != null)
values_.put(ICON_COLOR_32x32, iconColor32_);
return iconColor32_;
}
// Otherwise, return null.
else
return null;
}
/**
Sets the color icon names. The icons themselves are not loaded
until the caller requests them.
@param iconColor16Name The color 16x16 name.
@param iconColor32Name The color 32x32 name.
**/
void setColorIcons(String iconColor16Name, String iconColor32Name)
{
if (iconColor16Name == null)
throw new NullPointerException("iconColor16Name");
if (iconColor32Name == null)
throw new NullPointerException("iconColor32Name");
iconColor16Name_ = iconColor16Name;
iconColor32Name_ = iconColor32Name;
}
/**
Sets the full name. The length of the full name is usually
greater than or equal to the abbreviated name.
@param fullName The full name.
**/
public void setFullName(String fullName)
{
if (fullName == null)
throw new NullPointerException("fullName");
fullName_ = fullName;
}
/**
Sets the abbreviated name. The length of the abbreviated name is usually
less than or equal to the full name.
@param name The abbreviated name.
**/
public void setName(String name)
{
if (name == null)
throw new NullPointerException("name");
name_ = name;
}
/**
Sets a presentation value.
@param key The presentation key.
@param value The presentation value.
**/
public void setValue(Object key, Object value)
{
if (key == null)
throw new NullPointerException("key");
if (value == null)
throw new NullPointerException("value");
if (key.equals(NAME))
name_ = value.toString();
else if (key.equals(FULL_NAME))
fullName_ = value.toString();
else
values_.put(key, value);
}
/**
Returns the abbreviated name.
@return The abbreviated name.
**/
public String toString()
{
return name_;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy