⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jco$metadata.java

📁 SAP这个系统的一个转换器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        }
        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 + -