| /* |
| * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Oracle - initial API and implementation from Oracle TopLink |
| package org.eclipse.persistence.internal.eis.cobol; |
| |
| |
| /** |
| * <b>Purpose</b>: This interface defines behavior for a field meta data be they elementary or |
| * composite. This allows reference to either type field indiscriminatly. It also defines some |
| * statics for use in the type attribute of field meta data. |
| */ |
| public interface FieldMetaData { |
| //types |
| public static final int NUMERIC = 1; |
| public static final int ALPHA_NUMERIC = 2; |
| public static final int COMPOSITE = 3; |
| public static final int ALPHABETIC = 4; |
| public static final int BINARY = 5; |
| public static final int MANTISSA = 6; |
| public static final int PACKED_DECIMAL = 7; |
| public static final int VOID = 0; |
| |
| /** this method returns an new instance with the same values */ |
| public FieldMetaData deepCopy(); |
| |
| /** this method returns true if the field is signed */ |
| public boolean isSigned(); |
| |
| /** this method sets the signed attribute for the field */ |
| public void setIsSigned(boolean signed); |
| |
| /** this method will return the name of the field */ |
| public String getName(); |
| |
| /** this method will set the name of the field */ |
| public void setName(String newName); |
| |
| /** this method will return the associated record */ |
| public RecordMetaData getRecord(); |
| |
| /** this method will set the assoicated record */ |
| public void setRecord(RecordMetaData newRecord); |
| |
| /** this method will return the size in bytes of the field */ |
| public int getSize(); |
| |
| /** this method will set the size of the field */ |
| public void setSize(int size); |
| |
| /** this method returns true if the field is composite, false otherwise */ |
| public boolean isComposite(); |
| |
| /** this method returns the offset, in bytes, of the field in the record */ |
| public int getOffset(); |
| |
| /** this method sets the offset of the field */ |
| public void setOffset(int offset); |
| |
| /** this method returns the type of the field */ |
| public int getType(); |
| |
| /** this method sets the type of the field */ |
| public void setType(int type); |
| |
| /** this method sets whether this is a field redefine or not */ |
| public boolean isFieldRedefine(); |
| |
| /** this method sets the boolean for field redefine to true */ |
| public void setIsFieldRedefine(boolean status); |
| |
| /** this method sets the redefined field */ |
| public void setFieldRedefined(FieldMetaData field); |
| |
| /** this method returns the field that is redefined */ |
| public FieldMetaData getFieldRedefined(); |
| |
| /** this method returns true is the field has a preset decimal position */ |
| public boolean hasDecimal(); |
| |
| /** this method returns the decimal position index */ |
| public int getDecimalPosition(); |
| |
| /** this method sets the decimal position to the new index */ |
| public void setDecimalPosition(int newPosition); |
| |
| /** this method returns true if this field is an array */ |
| public boolean isArray(); |
| |
| /** this method returns the array size */ |
| public int getArraySize(); |
| |
| /** this method sets the array size for the field */ |
| public void setArraySize(int newSize); |
| |
| /** this method returns true if the array size depends on another field */ |
| public boolean dependsOn(); |
| |
| /** this method returns the name of the dependent field name */ |
| public String getDependentFieldName(); |
| |
| /** this method sets the dependent field name */ |
| public void setDependentFieldName(String fieldName); |
| |
| /** this method will extract the field's value from a byte array */ |
| public Object extractValueFromArray(byte[] recordData); |
| |
| /** this method will write itself on the give row extracting the data from the given |
| byte array */ |
| public void writeOnRow(CobolRow row, byte[] recordData); |
| |
| /** this method will write itself on the given byte array from the data in the row */ |
| public void writeOnArray(CobolRow row, byte[] recordData); |
| } |