From: David ‘Bombe’ Roden Date: Sat, 7 Jun 2008 10:37:04 +0000 (+0300) Subject: create container class for inserts X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=ed078047940388d940676c677e9d4f66218adc29;p=jSite2.git create container class for inserts --- diff --git a/src/net/pterodactylus/jsite/core/Insert.java b/src/net/pterodactylus/jsite/core/Insert.java new file mode 100644 index 0000000..84ce470 --- /dev/null +++ b/src/net/pterodactylus/jsite/core/Insert.java @@ -0,0 +1,131 @@ +/* + * jSite2 - Insert.java - + * Copyright © 2008 David Roden + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package net.pterodactylus.jsite.core; + +/** + * Represents a currently running or past insert. + * + * @author David ‘Bombe’ Roden <bombe@freenetproject.org> + */ +public class Insert { + + /** The project that was inserted. */ + private final Project project; + + /** The node the project was inserted to. */ + private final Node node; + + /** The start time of the insert. */ + private final long startTime; + + /** The end time of the insert. */ + private long endTime; + + /** Whether the insert was successful. */ + private boolean success; + + /** + * Creates a new insert. + * + * @param project + * The project that is inserted + * @param node + * The node the project is inserted to + * @param startTime + * The time the insert was started + */ + public Insert(Project project, Node node, long startTime) { + this.project = project; + this.node = node; + this.startTime = startTime; + } + + /** + * Returns the project that is inserted. + * + * @return The inserted project + */ + public Project getProject() { + return project; + } + + /** + * Returns the node the project is inserted to. + * + * @return The node the project is inserted to + */ + public Node getNode() { + return node; + } + + /** + * Returns the start time of the insert. + * + * @return The start time of the insert + */ + public long getStartTime() { + return startTime; + } + + /** + * Returns the end time of the insert. If the insert has not yet finished, + * -1 is returned. + * + * @return The end time of the insert, or -1 if the insert is + * still running + */ + public long getEndTime() { + return endTime; + } + + /** + * Sets the end time of the insert. + * + * @param endTime + * The end time of the insert + */ + public void setEndTime(long endTime) { + this.endTime = endTime; + } + + /** + * Returns whether the insert was successful. When the project has not yet + * finished, i.e. {@link #getEndTime()} returns -1, the + * return value of this method is undefined. + * + * @return true if the insert finished successfully, + * false otherwise + */ + public boolean isSuccess() { + return success; + } + + /** + * Sets whether the insert finished successfully. + * + * @param success + * true if the insert finished successfully, + * false otherwise + */ + public void setSuccess(boolean success) { + this.success = success; + } + +}