{GPL, other}: Relicense to MIT license.
[collectd.git] / bindings / java / org / collectd / api / PluginData.java
1 /*
2  * jcollectd
3  * Copyright (C) 2009 Hyperic, Inc.
4  * 
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License as published by the
7  * Free Software Foundation; only version 2 of the License is applicable.
8  * 
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  * 
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
17  */
18
19 package org.collectd.api;
20
21 import java.util.Date;
22
23 /**
24  * Shared members of value_list_t and notification_t structures.
25  */
26 public class PluginData {
27
28     protected long _time = 0;
29     protected String _host;
30     protected String _plugin;
31     protected String _pluginInstance = "";
32     protected String _type = "";
33     protected String _typeInstance = "";
34
35     public PluginData() {
36         
37     }
38
39     public PluginData(PluginData pd) {
40         _time = pd._time;
41         _host = pd._host;
42         _plugin = pd._plugin;
43         _pluginInstance = pd._pluginInstance;
44         _type = pd._type;
45         _typeInstance = pd._typeInstance;
46     }
47
48     public long getTime() {
49         return _time;
50     }
51
52     public void setTime(long time) {
53         _time = time;
54     }
55
56     public String getHost() {
57         return _host;
58     }
59
60     public void setHost(String host) {
61         _host = host;
62     }
63
64     public String getPlugin() {
65         return _plugin;
66     }
67
68     public void setPlugin(String plugin) {
69         _plugin = plugin;
70     }
71
72     public String getPluginInstance() {
73         return _pluginInstance;
74     }
75
76     public void setPluginInstance(String pluginInstance) {
77         _pluginInstance = pluginInstance;
78     }
79
80     public String getType() {
81         return _type;
82     }
83
84     public void setType(String type) {
85         _type = type;
86     }
87
88     public String getTypeInstance() {
89         return _typeInstance;
90     }
91
92     public void setTypeInstance(String typeInstance) {
93         _typeInstance = typeInstance;
94     }
95
96     public boolean defined(String val) {
97         return (val != null) && (val.length() > 0);
98     }
99
100     public String getSource() {
101         final char DLM = '/';
102         StringBuffer sb = new StringBuffer();
103         if (defined(_host)) {
104             sb.append(_host);
105         }
106         if (defined(_plugin)) {
107             sb.append(DLM).append(_plugin);
108         }
109         if (defined(_pluginInstance)) {
110             sb.append(DLM).append(_pluginInstance);
111         }
112         if (defined(_type)) {
113             sb.append(DLM).append(_type);
114         }
115         if (defined(_typeInstance)) {
116             sb.append(DLM).append(_typeInstance);
117         }
118         return sb.toString();        
119     }
120
121     public String toString() {
122         StringBuffer sb = new StringBuffer();
123         sb.append('[').append(new Date(_time)).append("] ");
124         sb.append(getSource());
125         return sb.toString();
126     }
127 }