01: /*
02: * GNetWatch
03: * Copyright 2006, 2007 Alexandre Fenyo
04: * gnetwatch@fenyo.net
05: *
06: * This file is part of GNetWatch.
07: *
08: * GNetWatch is free software; you can redistribute it and/or modify
09: * it under the terms of the GNU General Public License as published by
10: * the Free Software Foundation; either version 2 of the License, or
11: * (at your option) any later version.
12: *
13: * GNetWatch is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: * You should have received a copy of the GNU General Public License
19: * along with GNetWatch; if not, write to the Free Software
20: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21: */
22:
23: package net.fenyo.gnetwatch.targets;
24:
25: import net.fenyo.gnetwatch.*;
26: import net.fenyo.gnetwatch.GUI.*;
27: import net.fenyo.gnetwatch.actions.*;
28: import net.fenyo.gnetwatch.data.*;
29:
30: import org.apache.commons.logging.Log;
31: import org.apache.commons.logging.LogFactory;
32:
33: /**
34: * TargetInterface implements an interface of an IP target.
35: * @author Alexandre Fenyo
36: * @version $Id: TargetInterface.java,v 1.6 2007/03/03 00:38:19 fenyo Exp $
37: */
38:
39: public class TargetInterface extends Target {
40: private static Log log = LogFactory.getLog(TargetInterface.class);
41:
42: private String interface_name; // not null
43:
44: /**
45: * Constructor.
46: * @param name target name.
47: * @param interface_name interface name.
48: * @throws AlgorithmException exception.
49: */
50: // GUI thread
51: public TargetInterface(final String name,
52: final String interface_name) throws AlgorithmException {
53: super (name);
54: this .interface_name = interface_name;
55: setItem(interface_name);
56: }
57:
58: /**
59: * Initializes this target.
60: * @param gui current GUI instance.
61: * @return void.
62: */
63: // final because called by constructor (by means of setItem())
64: protected final void initialize(final GUI gui) {
65: super .initialize(gui);
66: if (gui != null)
67: setImageInterface();
68: }
69:
70: protected String getInterfaceName() {
71: return interface_name;
72: }
73:
74: /**
75: * Checks that the parameter can be attached to this target.
76: * @param visual_element parameter to check.
77: * @return true if the parameter can be attached to this target.
78: */
79: public boolean canManageThisChild(final VisualElement visual_element) {
80: if (Target.class.isInstance(visual_element))
81: return true;
82: return false;
83: }
84:
85: // we do not define equals() nor hashCode() since we want name being the discriminant
86: // instead of interface_name
87: }
|