@Override public boolean equals(Object obj) { if (obj instanceof IIndexElement) { IIndexElement obj2 = (IIndexElement) obj; return getName().equals(obj2.getName()) && Arrays.deepEquals(indexComponents, obj2.getIndexComponents()); } return false; } }
@Override public boolean isPrimary() { return index.isPrimary(); }
@Override public boolean isUnique() { return index.isUnique(); }
public RCodeTTIndexWrapper(ITable table, IIndexElement index) { Preconditions.checkNotNull(table); Preconditions.checkNotNull(index); this.table = table; this.index = index; for (IIndexComponentElement fld : index.getIndexComponents()) { fields.add(table.getFieldPosOrder().get(fld.getFieldPosition())); } }
@Override public String getName() { return index.getName(); }
@Override public int getSizeInRCode() { int size = 24; for (IVariableElement e : fields) { size += e.getSizeInRCode(); } for (IIndexElement e : indexes) { size += e.getSizeInRCode(); } return size; }
public RCodeTTIndexWrapper(ITable table, IIndexElement index) { Preconditions.checkNotNull(table); Preconditions.checkNotNull(index); this.table = table; this.index = index; for (IIndexComponentElement fld : index.getIndexComponents()) { fields.add(table.getFieldPosOrder().get(fld.getFieldPosition())); } }
@Override public String getName() { return index.getName(); }
@Override public int getSizeInRCode() { int size = 24; for (IVariableElement e : fields) { size += e.getSizeInRCode(); } for (IIndexElement e : indexes) { size += e.getSizeInRCode(); } return size; }
@Override public boolean equals(Object obj) { if (obj instanceof IIndexElement) { IIndexElement obj2 = (IIndexElement) obj; return getName().equals(obj2.getName()) && Arrays.deepEquals(indexComponents, obj2.getIndexComponents()); } return false; } }
public static ITableElement fromDebugSegment(String name, Set<AccessType> accessType, byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int fieldCount = ByteBuffer.wrap(segment, currentPos + 12, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int indexCount = ByteBuffer.wrap(segment, currentPos + 14, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int flags = ByteBuffer.wrap(segment, currentPos + 16, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos, Integer.BYTES).order(ByteOrder.LITTLE_ENDIAN).getInt(); String name2 = nameOffset == 0 ? name : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int beforeNameOffset = ByteBuffer.wrap(segment, currentPos + 4, Integer.BYTES).order( ByteOrder.LITTLE_ENDIAN).getInt(); String beforeTableName = beforeNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + beforeNameOffset); IVariableElement[] fields = new VariableElementV12[fieldCount]; int currPos = currentPos + 24; for (int zz = 0; zz < fieldCount; zz++) { IVariableElement var = VariableElementV12.fromDebugSegment("", null, segment, currPos, textAreaOffset, order); currPos += var.getSizeInRCode(); fields[zz] = var; } IIndexElement[] indexes = new IndexElementV12[indexCount]; for (int zz = 0; zz < indexCount; zz++) { IIndexElement idx = IndexElementV12.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += idx.getSizeInRCode(); indexes[zz] = idx; } return new TableElementV12(name2, accessType, flags, fields, indexes, beforeTableName); }
@Override public boolean isUnique() { return index.isUnique(); }
@Override public boolean isPrimary() { return index.isPrimary(); }
public static ITableElement fromDebugSegment(String name, Set<AccessType> accessType, byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int fieldCount = ByteBuffer.wrap(segment, currentPos, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int indexCount = ByteBuffer.wrap(segment, currentPos + 2, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int flags = ByteBuffer.wrap(segment, currentPos + 4, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos + 16, Integer.BYTES).order(ByteOrder.LITTLE_ENDIAN).getInt(); String name2 = nameOffset == 0 ? name : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int beforeNameOffset = ByteBuffer.wrap(segment, currentPos + 20, Integer.BYTES).order( ByteOrder.LITTLE_ENDIAN).getInt(); String beforeTableName = beforeNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + beforeNameOffset); IVariableElement[] fields = new VariableElementV11[fieldCount]; int currPos = currentPos + 24; for (int zz = 0; zz < fieldCount; zz++) { IVariableElement var = VariableElementV11.fromDebugSegment("", null, segment, currPos, textAreaOffset, order); currPos += var.getSizeInRCode(); fields[zz] = var; } IIndexElement[] indexes = new IndexElementV11[indexCount]; for (int zz = 0; zz < indexCount; zz++) { IIndexElement idx = IndexElementV11.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += idx.getSizeInRCode(); indexes[zz] = idx; } return new TableElementV11(name2, accessType, flags, fields, indexes, beforeTableName); }
public static ITableElement fromDebugSegment(String name, Set<AccessType> accessType, byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int fieldCount = ByteBuffer.wrap(segment, currentPos, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int indexCount = ByteBuffer.wrap(segment, currentPos + 2, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int flags = ByteBuffer.wrap(segment, currentPos + 4, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos + 16, Integer.BYTES).order(ByteOrder.LITTLE_ENDIAN).getInt(); String name2 = nameOffset == 0 ? name : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int beforeNameOffset = ByteBuffer.wrap(segment, currentPos + 20, Integer.BYTES).order( ByteOrder.LITTLE_ENDIAN).getInt(); String beforeTableName = beforeNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + beforeNameOffset); IVariableElement[] fields = new VariableElementV11[fieldCount]; int currPos = currentPos + 24; for (int zz = 0; zz < fieldCount; zz++) { IVariableElement var = VariableElementV11.fromDebugSegment("", null, segment, currPos, textAreaOffset, order); currPos += var.getSizeInRCode(); fields[zz] = var; } IIndexElement[] indexes = new IndexElementV11[indexCount]; for (int zz = 0; zz < indexCount; zz++) { IIndexElement idx = IndexElementV11.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += idx.getSizeInRCode(); indexes[zz] = idx; } return new TableElementV11(name2, accessType, flags, fields, indexes, beforeTableName); }
public static ITableElement fromDebugSegment(String name, Set<AccessType> accessType, byte[] segment, int currentPos, int textAreaOffset, ByteOrder order) { int fieldCount = ByteBuffer.wrap(segment, currentPos + 12, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int indexCount = ByteBuffer.wrap(segment, currentPos + 14, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int flags = ByteBuffer.wrap(segment, currentPos + 16, Short.BYTES).order(ByteOrder.LITTLE_ENDIAN).getShort(); int nameOffset = ByteBuffer.wrap(segment, currentPos, Integer.BYTES).order(ByteOrder.LITTLE_ENDIAN).getInt(); String name2 = nameOffset == 0 ? name : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + nameOffset); int beforeNameOffset = ByteBuffer.wrap(segment, currentPos + 4, Integer.BYTES).order( ByteOrder.LITTLE_ENDIAN).getInt(); String beforeTableName = beforeNameOffset == 0 ? "" : RCodeInfo.readNullTerminatedString(segment, textAreaOffset + beforeNameOffset); IVariableElement[] fields = new VariableElementV12[fieldCount]; int currPos = currentPos + 24; for (int zz = 0; zz < fieldCount; zz++) { IVariableElement var = VariableElementV12.fromDebugSegment("", null, segment, currPos, textAreaOffset, order); currPos += var.getSizeInRCode(); fields[zz] = var; } IIndexElement[] indexes = new IndexElementV12[indexCount]; for (int zz = 0; zz < indexCount; zz++) { IIndexElement idx = IndexElementV12.fromDebugSegment(segment, currPos, textAreaOffset, order); currPos += idx.getSizeInRCode(); indexes[zz] = idx; } return new TableElementV12(name2, accessType, flags, fields, indexes, beforeTableName); }