001/* 002 * This library is part of OpenCms - 003 * the Open Source Content Management System 004 * 005 * Copyright (c) Alkacon Software GmbH & Co. KG (http://www.alkacon.com) 006 * 007 * This library is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * This library is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * For further information about Alkacon Software, please see the 018 * company website: http://www.alkacon.com 019 * 020 * For further information about OpenCms, please see the 021 * project website: http://www.opencms.org 022 * 023 * You should have received a copy of the GNU Lesser General Public 024 * License along with this library; if not, write to the Free Software 025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 026 */ 027 028package org.opencms.ade.containerpage.shared; 029 030import org.opencms.util.CmsUUID; 031 032import com.google.gwt.user.client.rpc.IsSerializable; 033 034/** 035 * Contains lock information for a container page element. 036 */ 037public class CmsElementLockInfo implements IsSerializable { 038 039 /** User id of the lock owner. */ 040 private CmsUUID m_lockOwner; 041 042 /** True if this is a publish lock. */ 043 private boolean m_isPublishLock; 044 045 /** 046 * Creates a new instance. 047 * 048 * @param lockOwner the lock owner 049 * @param isPublishLock the publish lock status 050 */ 051 public CmsElementLockInfo(CmsUUID lockOwner, boolean isPublishLock) { 052 053 super(); 054 m_lockOwner = lockOwner; 055 m_isPublishLock = isPublishLock; 056 } 057 058 /** 059 * Empty constructor for serialization. 060 */ 061 protected CmsElementLockInfo() { 062 063 // empty 064 } 065 066 /** 067 * Gets the lock owner id. 068 * 069 * @return the lock owner id 070 */ 071 public CmsUUID getLockOwner() { 072 073 return m_lockOwner; 074 } 075 076 /** 077 * Returns true if the resource is locked. 078 * 079 * @return true if the resource is locked 080 */ 081 public boolean isLocked() { 082 083 return (m_lockOwner != null) && !m_lockOwner.equals(CmsUUID.getNullUUID()); 084 } 085 086 /** 087 * Returns true if the resource is a publish lock. 088 * 089 * @return true if the resource is a publish lock 090 */ 091 public boolean isPublishLock() { 092 093 return m_isPublishLock; 094 } 095 096 /** 097 * @see java.lang.Object#toString() 098 */ 099 @Override 100 public String toString() { 101 102 return "LockInfo(" + m_lockOwner + "," + m_isPublishLock + ")"; 103 } 104 105}