/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.codahale.metrics.jmx.JmxReporter
 *  com.datastax.oss.driver.api.core.CqlSession
 *  com.datastax.oss.driver.api.core.cql.PreparedStatement
 *  com.l7tech.gateway.common.cassandra.CassandraConnection
 */
package com.l7tech.server.cassandra;

import com.codahale.metrics.jmx.JmxReporter;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.cql.PreparedStatement;
import com.l7tech.gateway.common.cassandra.CassandraConnection;
import com.l7tech.server.cassandra.CassandraConnectionHolder;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;

public class CassandraConnectionHolderImpl
implements CassandraConnectionHolder {
    private final CassandraConnection a;
    private final CqlSession b;
    private final Optional<JmxReporter> c;
    private final Map<String, PreparedStatement> d = new ConcurrentHashMap<String, PreparedStatement>();
    private final long e = System.currentTimeMillis();
    private final AtomicLong f = new AtomicLong(this.e);

    public CassandraConnectionHolderImpl(CassandraConnection cassandraConnection, CqlSession cqlSession, Optional<JmxReporter> optional) {
        this.a = cassandraConnection;
        this.c = optional;
        this.b = cqlSession;
    }

    @Override
    public CassandraConnection getCassandraConnectionEntity() {
        return this.a;
    }

    @Override
    public CqlSession getSession() {
        return this.b;
    }

    @Override
    public Optional<JmxReporter> getJmxReporter() {
        return this.c;
    }

    @Override
    public Map<String, PreparedStatement> getPreparedStatementMap() {
        return this.d;
    }

    @Override
    public long getCreatedTime() {
        return this.e;
    }

    @Override
    public AtomicLong getLastAccessTime() {
        return this.f;
    }
}

