View Javadoc

1   package fr.in2p3.jsaga.impl.resource.instance;
2   
3   import fr.in2p3.jsaga.impl.attributes.ScalarAttributeImpl;
4   import fr.in2p3.jsaga.impl.attributes.VectorAttributeImpl;
5   import fr.in2p3.jsaga.impl.monitoring.MetricMode;
6   import fr.in2p3.jsaga.impl.monitoring.MetricType;
7   import org.ogf.saga.resource.Type;
8   import org.ogf.saga.resource.instance.Resource;
9   
10  /* ***************************************************
11   * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
12   * ***             http://cc.in2p3.fr/             ***
13   * ***************************************************/
14  public class ResourceAttributes implements Cloneable {
15      ScalarAttributeImpl<Type> m_Type;
16      public ScalarAttributeImpl<String> m_ResourceID;
17      ScalarAttributeImpl<String> m_ManagerID;
18      VectorAttributeImpl<String> m_Access;
19      ScalarAttributeImpl<String> m_Description;
20  
21      /** constructor */
22      ResourceAttributes(final AbstractResourceImpl resource) {
23          m_Type = resource._addAttribute(new ScalarAttributeImpl<Type>(
24                  Resource.RESOURCE_TYPE,
25                  "the resource type",
26                  MetricMode.ReadOnly,
27                  MetricType.Enum,
28                  null));
29          m_ResourceID = resource._addAttribute(new ScalarAttributeImpl<String>(
30                  Resource.RESOURCE_ID,
31                  "SAGA representation of the resource identifier",
32                  MetricMode.ReadOnly,
33                  MetricType.String,
34                  null));
35          m_ManagerID = resource._addAttribute(new ScalarAttributeImpl<String>(
36                  Resource.MANAGER_ID,
37                  "URL representation of the resource manager that created the resource",
38                  MetricMode.ReadOnly,
39                  MetricType.String,
40                  null));
41          m_Access = resource._addVectorAttribute(new VectorAttributeImpl<String>(
42                  Resource.ACCESS,
43                  "list of access URLs",
44                  MetricMode.ReadOnly,
45                  MetricType.String,
46                  null));
47          m_Description = resource._addAttribute(new ScalarAttributeImpl<String>(
48                  Resource.RESOURCE_DESCRIPTION,
49                  "the resource description",
50                  MetricMode.ReadOnly,
51                  MetricType.String,
52                  null));
53      }
54  
55      /** clone */
56      public ResourceAttributes clone() throws CloneNotSupportedException {
57          ResourceAttributes clone = (ResourceAttributes) super.clone();
58          clone.m_Type = m_Type.clone();
59          clone.m_ResourceID = m_ResourceID.clone();
60          clone.m_ManagerID = m_ManagerID.clone();
61          clone.m_Access = m_Access.clone();
62          clone.m_Description = m_Description.clone();
63          return clone;
64      }
65  }