Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[java] fix some small issues found by SonarQube
[simgrid.git] / src / bindings / java / org / simgrid / msg / Host.java
index fc48cba..ae953ee 100644 (file)
@@ -1,16 +1,15 @@
-/*
- * Bindings to the MSG hosts
- *
- * Copyright (c) 2006-2013. The SimGrid Team.
- * All right reserved. 
- *
- * This program is free software; you can redistribute 
- * it and/or modify it under the terms of the license 
- *(GNU LGPL) which comes with this package. 
- *
- */  
+/* Bindings to the MSG hosts */
+
+/* Copyright (c) 2006-2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
 package org.simgrid.msg;
 
+import org.simgrid.msg.Storage;
+
 /**
  * A host object represents a location (any possible place) where a process may run. 
  * Thus it is represented as a physical resource with computing capabilities, some 
@@ -53,20 +52,26 @@ public class Host {
        /**
         * Host name
         */
-       private String name;
+       protected String name;
 
        /**
         * User data.
         */ 
        private Object data;
-    /**
-     *
-     */
-    protected Host() {
+       /**
+        *
+        */
+       protected Host() {
                this.bind = 0;
                this.data = null;
        };
 
+       @Override
+       public String toString (){
+               return this.name; 
+
+       }
+
        /**
         * This static method gets an host instance associated with a native
         * host of your platform. This is the best way to get a java host object.
@@ -74,11 +79,11 @@ public class Host {
         * @param name          The name of the host to get.
         *
         * @return              The host object with the given name.
-     * @exception              HostNotFoundException if the name of the host is not valid.
+        * @exception           HostNotFoundException if the name of the host is not valid.
         *                                      NativeException if the native version of this method failed.
         */ 
        public native static Host getByName(String name) 
-       throws HostNotFoundException, NullPointerException;
+                       throws HostNotFoundException, NullPointerException;
        /**
         * This static method returns the count of the installed hosts.
         *
@@ -101,18 +106,18 @@ public class Host {
         */ 
        public native static Host[] all();
 
-    /** 
-     * This static method sets a mailbox to receive in asynchronous mode.
-     * 
-     * All messages sent to this mailbox will be transferred to 
-     * the receiver without waiting for the receive call. 
-     * The receive call will still be necessary to use the received data.
-     * If there is a need to receive some messages asynchronously, and some not, 
-     * two different mailboxes should be used.
-     *
-     * @param mailboxName The name of the mailbox
-     */
-    public static native void setAsyncMailbox(String mailboxName);
+       /** 
+        * This static method sets a mailbox to receive in asynchronous mode.
+        
+        * All messages sent to this mailbox will be transferred to 
+        * the receiver without waiting for the receive call. 
+        * The receive call will still be necessary to use the received data.
+        * If there is a need to receive some messages asynchronously, and some not, 
+        * two different mailboxes should be used.
+        *
+        * @param mailboxName The name of the mailbox
+        */
+       public static native void setAsyncMailbox(String mailboxName);
 
 
        /**
@@ -123,38 +128,42 @@ public class Host {
        public String getName() {
                return name;
        }
+
        /**
         * Sets the data of the host.
-     * @param data
-     */
+        * @param data
+        */
        public void setData(Object data) {
                this.data = data;
        } 
        /**
         * Gets the data of the host.
-     *
-     * @return The data object associated with the host.
-     */
+        *
+        * @return The data object associated with the host.
+        */
        public Object getData() {
                return this.data;
        }
 
        /**
         * Checks whether a host has data.
-     *
-     * @return True if the host has an associated data object.
-     */
+        *
+        * @return True if the host has an associated data object.
+        */
        public boolean hasData() {
                return null != this.data;
        }
 
        /**
-        * This method returns the number of tasks currently running on a host.
-        * The external load is not taken in account.
-        *
-        * @return                      The number of tasks currently running on a host.
+        * This method start the host if it is off
         */ 
-       public native int getLoad();
+       public native void on();
+
+       /**
+        * This method stop the host if it is on
+        */ 
+       public native void off();
+
 
        /**
         * This method returns the speed of the processor of a host,
@@ -177,15 +186,30 @@ public class Host {
         * Returns the value of a given host property. 
         */
        public native String getProperty(String name);
+
        /**
         * Change the value of a given host property. 
         */
        public native void setProperty(String name, String value);
-    /** This method tests if a host is available.
-     * @return True if the host is available.
-     */
-       public native boolean isAvail();
-       
+
+       /** This method tests if a host is up and running.
+        * @return True if the host is available.
+        */
+       public native boolean isOn();
+
+       /** This methods returns the list of mount point names on an host
+        * @return An array containing all mounted storages on the host
+        */
+       public native Storage[] getMountedStorage();
+
+       /** This methods returns the list of storages attached to an host
+        * @return An array containing all storages (name) attached to the host
+        */
+       public native String[] getAttachedStorage();
+
+       /** Returns the amount of Joules consumed by that host so far */
+       public native double getConsumedEnergy();
+
        /**
         * Class initializer, to initialize various JNI stuff
         */