/* * Copyright (C) 2012 The CyanogenMod Project * * 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. */ package com.cyanogenmod.filemanager.model; import java.io.Serializable; /** * A class that holds information about the usage of a disk (total, used and free space). */ public class DiskUsage implements Serializable { private static final long serialVersionUID = -4540446701543226294L; private final String mMountPoint; private final long mTotal; private final long mUsed; private final long mFree; /** * Constructor of <code>DiskUsage</code>. * * @param mountPoint The mount point * @param total The total amount of space * @param used The used amount of space * @param free The free amount of space */ public DiskUsage(String mountPoint, long total, long used, long free) { super(); this.mMountPoint = mountPoint; this.mTotal = total; this.mUsed = used; this.mFree = free; } /** * Method that returns the mount point. * * @return String The mount point */ public String getMountPoint() { return this.mMountPoint; } /** * Method that returns the total amount of space. * * @return long The total amount of space */ public long getTotal() { return this.mTotal; } /** * Method that returns the used amount of space. * * @return long The used amount of space */ public long getUsed() { return this.mUsed; } /** * Method that returns the free amount of space. * * @return long The free amount of space */ public long getFree() { return this.mFree; } /** * {@inheritDoc} */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (int) (this.mFree ^ (this.mFree >>> 32)); result = prime * result + ((this.mMountPoint == null) ? 0 : this.mMountPoint.hashCode()); result = prime * result + (int) (this.mTotal ^ (this.mTotal >>> 32)); result = prime * result + (int) (this.mUsed ^ (this.mUsed >>> 32)); return result; } /** * {@inheritDoc} */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } DiskUsage other = (DiskUsage) obj; if (this.mFree != other.mFree) { return false; } if (this.mMountPoint == null) { if (other.mMountPoint != null) { return false; } } else if (!this.mMountPoint.equals(other.mMountPoint)) { return false; } if (this.mTotal != other.mTotal) { return false; } if (this.mUsed != other.mUsed) { return false; } return true; } /** * {@inheritDoc} */ @Override public String toString() { return "DiskUsage [mMountPoint=" + this.mMountPoint //$NON-NLS-1$ + ", mTotal=" + this.mTotal + //$NON-NLS-1$ ", mUsed=" + this.mUsed + ", mFree=" //$NON-NLS-1$ //$NON-NLS-2$ + this.mFree + "]"; //$NON-NLS-1$ } }