001 package org.shiftone.jrat.util.jmx.dynamic;
002
003
004 import org.shiftone.jrat.util.log.Logger;
005
006
007 /**
008 * @author jeff@shiftone.org (Jeff Drost)
009 */
010 public class SimpleAttributeValue implements AttributeValue {
011
012 private static final Logger LOG = Logger.getLogger(SimpleAttributeValue.class);
013 private Object value;
014 private String description;
015 private Class type;
016
017 public SimpleAttributeValue(Object value) {
018 this.value = value;
019 }
020
021
022 public SimpleAttributeValue(Object value, String description) {
023 this.value = value;
024 this.description = description;
025 }
026
027
028 public SimpleAttributeValue(Object value, String description, Class type) {
029
030 this.value = value;
031 this.description = description;
032 this.type = type;
033 }
034
035
036 public void setValue(Object value) {
037 this.value = value;
038 }
039
040
041 public Object getValue() {
042 return value;
043 }
044
045
046 public String getType() {
047
048 if (type != null) {
049 return type.getName();
050 } else if (value != null) {
051 return value.getClass().getName();
052 } else {
053 return Object.class.getName();
054 }
055 }
056
057
058 public String getDescription() {
059 return description;
060 }
061
062
063 public void setDescription(String description) {
064 this.description = description;
065 }
066
067
068 public boolean isReadable() {
069 return true;
070 }
071
072
073 public boolean isWritable() {
074 return true;
075 }
076 }