/* * * * Copyright 2014 Orient Technologies LTD (info(at)orientechnologies.com) * * * * Licensed 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. * * * * For more information: http://www.orientechnologies.com * */ package com.orientechnologies.orient.server.network.protocol.http; import java.util.HashMap; import java.util.Map; /** * Handles session information. * * @author Luca Garulli */ public class OHttpSession { private final long createdOn; private final String databaseName; private final String userName; private final String userPassword; private String id; private long lastUpdatedOn; private Map<Object, Object> parameters; protected OHttpSession(final String iId, final String iDatabaseName, final String iUserName, String iUserPassword) { id = iId; createdOn = System.currentTimeMillis(); lastUpdatedOn = createdOn; databaseName = iDatabaseName; userName = iUserName; userPassword = iUserPassword; } public long getCreatedOn() { return createdOn; } public long getUpdatedOn() { return lastUpdatedOn; } public OHttpSession updateLastUpdatedOn() { this.lastUpdatedOn = System.currentTimeMillis(); return this; } public Object getParameters(final Object iKey) { if (this.parameters == null) return null; return parameters.entrySet(); } public Object getParameter(final Object iKey) { if (this.parameters == null) return null; return parameters.get(iKey); } public OHttpSession setParameter(final Object iKey, final Object iValue) { if (this.parameters == null) this.parameters = new HashMap<Object, Object>(); if (iValue == null) this.parameters.remove(iKey); else this.parameters.put(iKey, iValue); return this; } public String getDatabaseName() { return databaseName; } public String getUserName() { return userName; } public String getUserPassword() { return userPassword; } public String getId() { return id; } }