Package com.google.code.or.binlog.impl.event

Source Code of com.google.code.or.binlog.impl.event.TableMapEvent

/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.code.or.binlog.impl.event;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import com.google.code.or.binlog.BinlogEventV4Header;
import com.google.code.or.common.glossary.Metadata;
import com.google.code.or.common.glossary.UnsignedLong;
import com.google.code.or.common.glossary.column.BitColumn;
import com.google.code.or.common.glossary.column.StringColumn;
import com.google.code.or.common.util.MySQLConstants;

/**
* Used for row-based binary logging. This event precedes each row operation event.
* It maps a table definition to a number, where the table definition consists of
* database and table names and column definitions. The purpose of this event is to
* enable replication when a table has different definitions on the master and slave.
* Row operation events that belong to the same transaction may be grouped into sequences,
* in which case each such sequence of events begins with a sequence of TABLE_MAP_EVENT events:
* one per table used by events in the sequence.
*
* @author Jingqi Xu
*/
public final class TableMapEvent extends AbstractBinlogEventV4 {
  //
  public static final int EVENT_TYPE = MySQLConstants.TABLE_MAP_EVENT;
 
  //
  private long tableId;
  private int reserved;
  private int databaseNameLength;
  private StringColumn databaseName;
  private int tableNameLength;
  private StringColumn tableName;
  private UnsignedLong columnCount;
  private byte[] columnTypes;
  private UnsignedLong columnMetadataCount;
  private Metadata columnMetadata;
  private BitColumn columnNullabilities;
 
  /**
   *
   */
  public TableMapEvent() {
  }
 
  public TableMapEvent(BinlogEventV4Header header) {
    this.header = header;
  }
 
  /**
   *
   */
  @Override
  public String toString() {
    return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
    .append("header", header)
    .append("tableId", tableId)
    .append("reserved", reserved)
    .append("databaseNameLength", databaseNameLength)
    .append("databaseName", databaseName)
    .append("tableNameLength", tableNameLength)
    .append("tableName", tableName)
    .append("columnCount", columnCount)
    .append("columnTypes", columnTypes)
    .append("columnMetadataCount", columnMetadataCount)
    .append("columnMetadata", columnMetadata)
    .append("columnNullabilities", columnNullabilities).toString();
  }
 
  /**
   *
   */
  public TableMapEvent copy() {
    final TableMapEvent r = new TableMapEvent();
    r.setHeader(this.header);
    r.setTableId(this.tableId);
    r.setReserved(this.reserved);
    r.setDatabaseNameLength(this.databaseNameLength);
    r.setDatabaseName(this.databaseName);
    r.setTableNameLength(this.tableNameLength);
    r.setTableName(this.tableName);
    r.setColumnCount(this.columnCount);
    r.setColumnTypes(this.columnTypes);
    r.setColumnMetadataCount(this.columnMetadataCount);
    r.setColumnMetadata(this.columnMetadata);
    r.setColumnNullabilities(this.columnNullabilities);
    return r;
  }
 
  /**
   *
   */
  public long getTableId() {
    return tableId;
  }

  public void setTableId(long tableId) {
    this.tableId = tableId;
  }

  public int getReserved() {
    return reserved;
  }

  public void setReserved(int reserved) {
    this.reserved = reserved;
  }

  public int getDatabaseNameLength() {
    return databaseNameLength;
  }

  public void setDatabaseNameLength(int databaseNameLength) {
    this.databaseNameLength = databaseNameLength;
  }

  public StringColumn getDatabaseName() {
    return databaseName;
  }

  public void setDatabaseName(StringColumn databaseName) {
    this.databaseName = databaseName;
  }

  public int getTableNameLength() {
    return tableNameLength;
  }

  public void setTableNameLength(int tableNameLength) {
    this.tableNameLength = tableNameLength;
  }

  public StringColumn getTableName() {
    return tableName;
  }

  public void setTableName(StringColumn tableName) {
    this.tableName = tableName;
  }

  public UnsignedLong getColumnCount() {
    return columnCount;
  }

  public void setColumnCount(UnsignedLong columnCount) {
    this.columnCount = columnCount;
  }

  public byte[] getColumnTypes() {
    return columnTypes;
  }

  public void setColumnTypes(byte[] columnTypes) {
    this.columnTypes = columnTypes;
  }

  public UnsignedLong getColumnMetadataCount() {
    return columnMetadataCount;
  }

  public void setColumnMetadataCount(UnsignedLong columnMetadataCount) {
    this.columnMetadataCount = columnMetadataCount;
  }

  public Metadata getColumnMetadata() {
    return columnMetadata;
  }

  public void setColumnMetadata(Metadata columnMetadata) {
    this.columnMetadata = columnMetadata;
  }
 
  public BitColumn getColumnNullabilities() {
    return columnNullabilities;
  }

  public void setColumnNullabilities(BitColumn columnNullabilities) {
    this.columnNullabilities = columnNullabilities;
  }
}
TOP

Related Classes of com.google.code.or.binlog.impl.event.TableMapEvent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.