001/*
002// This software is subject to the terms of the Eclipse Public License v1.0
003// Agreement, available at the following URL:
004// http://www.eclipse.org/legal/epl-v10.html.
005// You must accept the terms of that agreement to use this software.
006//
007// Copyright (C) 2011-2012 Pentaho
008// All Rights Reserved.
009*/
010package mondrian.server.monitor;
011
012/**
013 * Creation of a segment in the cell cache.
014 */
015public class CellCacheSegmentCreateEvent extends CellCacheEvent {
016
017    public final int coordinateCount;
018    public final int actualCellCount;
019
020    /**
021     * Creates a CellCacheSegmentCreateEvent.
022     *
023     * @param timestamp Timestamp
024     * @param serverId ID of the server from which the event originates.
025     * @param connectionId ID of the connection from which the event
026     * originates.
027     * @param statementId ID of the statement from which the event originates.
028     * @param executionId ID of the execution from which the event originates.
029     * @param coordinateCount Number of coordinates of segment header
030     * @param actualCellCount Number of cells in body (or 0 if body not yet
031     *     present)
032     * @param source Source of segment
033     */
034    public CellCacheSegmentCreateEvent(
035        long timestamp,
036        int serverId,
037        int connectionId,
038        long statementId,
039        long executionId,
040        int coordinateCount,
041        int actualCellCount,
042        Source source)
043    {
044        super(
045            timestamp, serverId, connectionId,
046            statementId, executionId, source);
047        this.coordinateCount = coordinateCount;
048        this.actualCellCount = actualCellCount;
049    }
050
051    public <T> T accept(Visitor<T> visitor) {
052        return visitor.visit(this);
053    }
054}
055
056// End CellCacheSegmentCreateEvent.java