src.com.ibm.as400.data.DataDescriptor 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
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: DataDescriptor.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.data;
import com.ibm.as400.access.ProgramParameter;
import com.ibm.as400.access.BidiStringType;
/**
* The DataDescriptor class implements the methods of the Descriptor interface
* that are unique to the <data> tag.
*
**/
class DataDescriptor extends DocNodeDescriptor
{
/* Constructor */
public DataDescriptor(PcmlDocNode node)
{
super(node);
}
/**
* Return the list of valid attributes for the data element.
**/
public String[] getAttributeList()
{
return ((PcmlData)getDocNode()).getAttributeList();
}
/**
* Return a String containing the current value for the requested attribute.
**/
public String getAttributeValue(String attr)
{
if (attr != null)
{
if (attr.equals("name"))
{
String name = getDocNode().getName();
if (name.equals(""))
return null;
else
return name;
}
else if (attr.equals("usage"))
{
switch (getDocNode().getUsage())
{
case PcmlDocNode.INPUT:
return "input";
case PcmlDocNode.INPUTOUTPUT:
return "inputoutput";
case PcmlDocNode.OUTPUT:
return "output";
case PcmlDocNode.INHERIT:
return "inherit";
}
}
else if (attr.equals("count"))
{
String countId = ((PcmlData)getDocNode()).getUnqualifiedCountId();
if (countId != null)
return countId;
else
{
int count = ((PcmlData)getDocNode()).getCount();
if (count < 1)
return null;
else
return Integer.toString(count);
}
}
else if (attr.equals("minvrm"))
return ((PcmlData)getDocNode()).getMinvrmString();
else if (attr.equals("maxvrm"))
return ((PcmlData)getDocNode()).getMaxvrmString();
else if (attr.equals("offset"))
{
String offsetId = ((PcmlData)getDocNode()).getUnqualifiedOffsetId();
if (offsetId != null)
return offsetId;
else
{
int offset = ((PcmlData)getDocNode()).getOffset();
if (offset < 1)
return null;
else
return Integer.toString(offset);
}
}
else if (attr.equals("offsetfrom"))
{
String offsetfromId = ((PcmlData)getDocNode()).getUnqualifiedOffsetfromId();
if (offsetfromId != null)
return offsetfromId;
else
{
int offsetfrom = ((PcmlData)getDocNode()).getOffsetfrom();
if (offsetfrom < 0)
return null;
else
return Integer.toString(offsetfrom);
}
}
else if (attr.equals("outputsize"))
{
String outputsizeId = ((PcmlData)getDocNode()).getUnqualifiedOutputsizeId();
if (outputsizeId != null)
return outputsizeId;
else
{
int outputsize = ((PcmlData)getDocNode()).getOutputsize();
if (outputsize < 1)
return null;
else
return Integer.toString(outputsize);
}
}
else if (attr.equals("type"))
{
switch (((PcmlData)getDocNode()).getDataType())
{
case PcmlData.CHAR:
return "char";
case PcmlData.INT:
return "int";
case PcmlData.PACKED:
return "packed";
case PcmlData.ZONED:
return "zoned";
case PcmlData.FLOAT:
return "float";
case PcmlData.BYTE:
return "byte";
case PcmlData.STRUCT:
return "struct";
case PcmlData.DATE:
return "date";
case PcmlData.TIME:
return "time";
case PcmlData.TIMESTAMP:
return "timestamp";
}
}
else if (attr.equals("length"))
{
String lengthId = ((PcmlData)getDocNode()).getUnqualifiedLengthId();
if (lengthId != null)
return lengthId;
else
{
if (((PcmlData)getDocNode()).isLengthSpecified() == true) // @A3a
return Integer.toString(((PcmlData)getDocNode()).getLength());
else // @A3a
return null; // @A3a
}
}
else if (attr.equals("precision"))
{
int precision = ((PcmlData)getDocNode()).getPrecision();
if (precision < 1)
return null;
else
return Integer.toString(precision);
}
else if (attr.equals("ccsid"))
{
String ccsidId = ((PcmlData)getDocNode()).getUnqualifiedCcsidId();
if (ccsidId != null)
return ccsidId;
else
{
int ccsid = ((PcmlData)getDocNode()).getCcsid();
if (ccsid < 1)
return null;
else
return Integer.toString(ccsid);
}
}
else if (attr.equals("init"))
return ((PcmlData)getDocNode()).getInit();
else if (attr.equals("struct"))
return ((PcmlData)getDocNode()).getStruct();
else if (attr.equals("passby"))
{
if (((PcmlData)getDocNode()).getPassby() == ProgramParameter.PASS_BY_VALUE)
return "value";
else
return "reference";
}
else if (attr.equals("bidistringtype"))
{
return (((PcmlData)getDocNode()).getBidistringtypeStr()); // @A2C
}
else if (attr.equals("trim")) // @D1A
{
return (((PcmlData)getDocNode()).getTrim()); // @D1A
}
else if (attr.equals("chartype")) // @D2A
{
return (((PcmlData)getDocNode()).getCharType()); // @D2A
}
else if (attr.equals("dateformat"))
return ((PcmlData)getDocNode()).getDateFormat();
else if (attr.equals("timeformat"))
return ((PcmlData)getDocNode()).getTimeFormat();
else if (attr.equals("dateseparator"))
return ((PcmlData)getDocNode()).getDateSeparator();
else if (attr.equals("timeseparator"))
return ((PcmlData)getDocNode()).getTimeSeparator();
else
return null;
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy