View Javadoc

    1   /***
    2    *
    3    * Copyright 2004 Hiram Chirino
    4    *
    5    * Licensed under the Apache License, Version 2.0 (the "License");
    6    * you may not use this file except in compliance with the License.
    7    * You may obtain a copy of the License at
    8    *
    9    * http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   *
    17   **/
    18  package org.activeio.journal.active;
    19
    20  /***
    21   * @version $Revision: 1.1 $
    22   */
    23  final public class RecordInfo {
    24
    25      private final Location location;
    26      private final Record header;
    27      private final LogFileNode logFileState;
    28
    29      public RecordInfo(Location location, Record header, LogFileNode logFileState) {
    30          this.location = location;
    31          this.header = header;
    32          this.logFileState = logFileState;
    33      }
    34
    35      int getNextLocation() {
    36          return location.getLogFileOffset() + header.getPayloadLength() + Record.RECORD_BASE_SIZE;
    37      }
    38
    39      public Record getHeader() {
    40          return header;
    41      }
    42
    43      public Location getLocation() {
    44          return location;
    45      }
    46
    47      public LogFileNode getLogFileState() {
    48          return logFileState;
    49      }
    50
    51      public int getDataOffset() {
    52          return location.getLogFileOffset() + Record.RECORD_HEADER_SIZE;
    53      }
    54  }