📄 jco$metadata.java
字号:
}
return hash_of_indices.get(field_name) != null;
}
public String getName()
{
return rec_name;
}
/**
* @deprecated Method getLineTypeName is deprecated
*/
public String getLineTypeName()
{
return type_name;
}
public int getFieldCount()
{
return num_fields;
}
public int getNumFields()
{
return num_fields;
}
public int getCapacity()
{
return name == null ? 0 : name.length;
}
public IMetaData getMetaData()
{
return new JCO$MetaData(this);
}
public void addInfo(String name, int type, int length)
{
addInfo(name, type, length, -1, 0, null, null, 0, null, null);
}
public void addInfo(String name, int type, int length, int offset)
{
addInfo(name, type, length, offset, 0, null, null, 0, null, null);
}
public void addInfo(String name, int type, int length, int offset, int decimals)
{
addInfo(name, type, length, offset, decimals, null, null, 0, null, null);
}
public void addInfo(String name, int type, int length, int offset, int decimals, int flags, Object tab_meta)
{
addInfo(name, type, length, offset, decimals, null, null, flags, tab_meta, null);
}
public void addInfo(String name, int type, int length, int offset, int decimals, String sdefault, String description,
int flags, Object tab_meta, IExtendedFieldMetaData extended)
{
addInfo(name, type, length, length, offset, decimals, sdefault, description, flags, tab_meta, extended);
}
public void addInfo(String name, int type, int charlength, int length, int offset, int decimals, String sdefault,
String description, int flags, Object tab_meta, IExtendedFieldMetaData extended)
{
ensureCapacity(num_fields + 1);
if(offset < 0)
offset = num_fields <= 0 ? 0 : this.offset[num_fields - 1] + this.length[num_fields - 1];
if(length < 0)
{
length = -length;
if(charlength <= 0)
charlength = length / 2;
} else
if(charlength <= 0)
charlength = length;
oindex[num_fields] = -1;
switch(type)
{
case 0: // '\0'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = charlength;
break;
case 1: // '\001'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = 8;
break;
case 2: // '\002'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = length / 2 + length % 2;
break;
case 3: // '\003'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = 6;
break;
case 4: // '\004'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = length / 2 + length % 2;
break;
case 5: // '\005'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = charlength;
break;
case 6: // '\006'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = charlength;
break;
case 7: // '\007'
this.length[num_fields] = 8;
this.offset[num_fields] = offset;
blength[num_fields] = 4;
break;
case 8: // '\b'
this.length[num_fields] = 4;
this.offset[num_fields] = offset;
blength[num_fields] = 2;
break;
case 9: // '\t'
this.length[num_fields] = 2;
this.offset[num_fields] = offset;
blength[num_fields] = 1;
break;
case 10: // '\n'
this.length[num_fields] = 1;
this.offset[num_fields] = offset;
blength[num_fields] = 1;
break;
case 29: // '\035'
this.length[num_fields] = 8;
this.offset[num_fields] = offset;
blength[num_fields] = name.length();
oindex[num_fields] = (byte)(num_odata++);
break;
case 30: // '\036'
this.length[num_fields] = 8;
this.offset[num_fields] = offset;
blength[num_fields] = name.length();
oindex[num_fields] = (byte)(num_odata++);
break;
case 17: // '\021'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = name.length();
oindex[num_fields] = (byte)(num_odata++);
break;
case 99: // 'c'
this.length[num_fields] = length;
this.offset[num_fields] = offset;
blength[num_fields] = name.length();
oindex[num_fields] = (byte)(num_odata++);
break;
default:
throw new IllegalArgumentException();
case 98: // 'b'
break;
}
this.name[num_fields] = name;
this.tab_meta[num_fields] = tab_meta;
this.type[num_fields] = (byte)type;
this.decimals[num_fields] = type != 2 && type != 7 ? 0 : (byte)decimals;
this.flags[num_fields] = (byte)flags;
if(sdefault != null)
{
if(defaults == null)
defaults = new String[num_fields + 1];
defaults[num_fields] = sdefault;
}
if(description != null)
{
if(this.description == null)
this.description = new String[num_fields + 1];
this.description[num_fields] = description;
}
if(extended != null)
{
if(extended_field_meta_data == null)
extended_field_meta_data = new IExtendedFieldMetaData[num_fields + 1];
extended_field_meta_data[num_fields] = extended;
}
num_fields++;
if(num_fields > 1)
boffset[num_fields - 1] = boffset[num_fields - 2] + blength[num_fields - 2];
}
/**
* @deprecated Method addInfo is deprecated
*/
public void addInfo(String name, char type, int offset, int length)
{
addInfo(name, JCO.getJCOType(type), length, offset, 0);
}
/**
* @deprecated Method addInfo is deprecated
*/
public void addInfo(String name, char type, int offset, int length, int decimals)
{
addInfo(name, JCO.getJCOType(type), length, offset, decimals);
}
public String getName(int index)
{
return name[index];
}
public String getTabName(int index)
{
if(tab_meta[index] instanceof String)
return (String)tab_meta[index];
if(tab_meta[index] instanceof IMetaData)
return ((IMetaData)tab_meta[index]).getName();
else
return null;
}
public String getTabName(String field_name)
{
return getTabName(indexOf(field_name));
}
public IMetaData getMetaData(int index)
{
return (tab_meta[index] instanceof IMetaData) ? (IMetaData)tab_meta[index] : null;
}
public IMetaData getMetaData(String field_name)
{
return getMetaData(indexOf(field_name));
}
public int getLength(int index)
{
int t = type[index];
int l = length[index];
switch(t)
{
case 0: // '\0'
case 1: // '\001'
case 3: // '\003'
case 6: // '\006'
l = blength[index];
// fall through
case 2: // '\002'
case 4: // '\004'
case 5: // '\005'
default:
return l;
}
}
public int getLength(String field_name)
{
return getLength(indexOf(field_name));
}
public int getInternalLength(int index)
{
return length[index];
}
public int getInternalLength(String field_name)
{
return length[indexOf(field_name)];
}
public int getOffset(int index)
{
return offset[index];
}
public int getOffset(String field_name)
{
return offset[indexOf(field_name)];
}
public int getType(int index)
{
return type[index];
}
public int getType(String field_name)
{
return type[indexOf(field_name)];
}
public String getTypeAsString(int index)
{
return JCO.getJCOTypeString(type[index]);
}
public String getTypeAsString(String field_name)
{
return JCO.getJCOTypeString(type[indexOf(field_name)]);
}
public int getDecimals(int index)
{
return decimals[index];
}
public int getDecimals(String field_name)
{
return decimals[indexOf(field_name)];
}
public String getDefault(int index)
{
return defaults == null ? null : defaults[index];
}
public String getDefault(String field_name)
{
return defaults == null ? null : defaults[indexOf(field_name)];
}
public String getDescription(int index)
{
return description == null ? null : description[index];
}
public String getDescription(String field_name)
{
return description == null ? null : description[indexOf(field_name)];
}
public int getFlags(int index)
{
return flags[index];
}
public int getFlags(String field_name)
{
return flags[indexOf(field_name)];
}
public IExtendedFieldMetaData getExtendedFieldMetaData(int index)
{
return extended_field_meta_data != null ? extended_field_meta_data[index] : null;
}
public IExtendedFieldMetaData getExtendedFieldMetaData(String field_name)
{
return extended_field_meta_data != null ? extended_field_meta_data[indexOf(field_name)] : null;
}
public void setExtendedFieldMetaData(IExtendedFieldMetaData extended_field_meta_data, int index)
{
if(this.extended_field_meta_data == null)
this.extended_field_meta_data = new IExtendedFieldMetaData[num_fields + 1];
this.extended_field_meta_data[index] = extended_field_meta_data;
}
public void setExtendedFieldMetaData(IExtendedFieldMetaData extended_field_meta_data, String field_name)
{
setExtendedFieldMetaData(extended_field_meta_data, indexOf(field_name));
}
public boolean isOptional(int index)
{
return (flags[index] & 4) != 0;
}
public boolean isOptional(String field_name)
{
return (flags[indexOf(field_name)] & 4) != 0;
}
public boolean isImport(int index)
{
return (flags[index] & 1) != 0;
}
public boolean isImport(String field_name)
{
return (flags[indexOf(field_name)] & 1) != 0;
}
public boolean isExport(int index)
{
return (flags[index] & 2) != 0;
}
public boolean isExport(String field_name)
{
return (flags[indexOf(field_name)] & 2) != 0;
}
public boolean isStructure(int index)
{
return type[index] == 17;
}
public boolean isStructure(String field_name)
{
return type[indexOf(field_name)] == 17;
}
public boolean isNestedType1Structure(int index)
{
return (flags[index] & 0x80) != 0;
}
public boolean isNestedType1Structure(String field_name)
{
return (flags[indexOf(field_name)] & 0x80) != 0;
}
public boolean isTable(int index)
{
return type[index] == 99;
}
public boolean isTable(String field_name)
{
return type[indexOf(field_name)] == 99;
}
public boolean isException(int index)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -