📄 jco$metadata$type1data.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: JCO.java
package com.sap.mw.jco;
import java.io.Serializable;
// Referenced classes of package com.sap.mw.jco:
// JCO
protected class JCO$MetaData$Type1Data
implements Cloneable, Serializable
{
public Object clone()
{
try
{
JCO$MetaData$Type1Data obj = (JCO$MetaData$Type1Data)super.clone();
obj.copy(this);
return obj;
}
catch(CloneNotSupportedException ex)
{
return null;
}
}
protected void copy(JCO$MetaData$Type1Data type1Data)
{
if(type1Data == null)
{
return;
} else
{
ensureCapacity(type1Data.num_fields);
num_fields = type1Data.num_fields;
System.arraycopy(type1Data.name, 0, name, 0, num_fields);
System.arraycopy(type1Data.offset, 0, offset, 0, num_fields);
System.arraycopy(type1Data.boffset, 0, boffset, 0, num_fields);
System.arraycopy(type1Data.length, 0, length, 0, num_fields);
System.arraycopy(type1Data.blength, 0, blength, 0, num_fields);
System.arraycopy(type1Data.type, 0, type, 0, num_fields);
System.arraycopy(type1Data.decimals, 0, decimals, 0, num_fields);
System.arraycopy(type1Data.flags, 0, flags, 0, num_fields);
return;
}
}
private void ensureCapacity(int capacity)
{
if(name.length < capacity)
{
String old_name[] = name;
name = new String[capacity];
System.arraycopy(old_name, 0, name, 0, old_name.length);
int old_offset[] = offset;
offset = new int[capacity];
System.arraycopy(old_offset, 0, offset, 0, old_offset.length);
int old_boffset[] = boffset;
boffset = new int[capacity];
System.arraycopy(old_boffset, 0, boffset, 0, old_boffset.length);
int old_length[] = length;
length = new int[capacity];
System.arraycopy(old_length, 0, length, 0, old_length.length);
int old_blength[] = blength;
blength = new int[capacity];
System.arraycopy(old_blength, 0, blength, 0, old_blength.length);
byte old_type[] = type;
type = new byte[capacity];
System.arraycopy(old_type, 0, type, 0, old_type.length);
byte old_decimals[] = decimals;
decimals = new byte[capacity];
System.arraycopy(old_decimals, 0, decimals, 0, old_decimals.length);
byte old_flags[] = flags;
flags = new byte[capacity];
System.arraycopy(old_flags, 0, flags, 0, old_flags.length);
}
}
private int countNumFields(JCO$MetaData metaData, int fieldCount)
{
for(int i = 0; i < metaData.ds(); i++)
if(metaData.getType(i) == 17)
fieldCount = countNumFields((JCO$MetaData)metaData.a(i), fieldCount);
else
fieldCount++;
return fieldCount;
}
protected void constructMetaData()
{
num_fields = countNumFields(this._cls0.this, 0);
ensureCapacity(num_fields);
constructMetaData(this._cls0.this, 0, "", 0);
boffset[0] = 0;
for(int i = 0; i < num_fields - 1; i++)
boffset[i + 1] = boffset[i] + blength[i];
}
private final int constructMetaData(JCO$MetaData metaData, int pos, String prefix, int structOffset)
{
for(int i = 0; i < metaData.ds(); i++)
if(metaData.getType(i) == 17)
{
pos = constructMetaData((JCO$MetaData)metaData.a(i), pos, prefix + metaData.a[i] + '-', structOffset + metaData.offset[i]);
} else
{
name[pos] = prefix + metaData.name[i];
offset[pos] = structOffset + metaData.offset[i];
lengt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -