1/* 2 * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package javax.management; 27 28 29 30/** 31 * Represents strings that are arguments to relational constraints. 32 * A <CODE>StringValueExp</CODE> may be used anywhere a <CODE>ValueExp</CODE> is required. 33 * 34 * @since 1.5 35 */ 36public class StringValueExp implements ValueExp { 37 38 /* Serial version */ 39 private static final long serialVersionUID = -3256390509806284044L; 40 41 /** 42 * @serial The string literal 43 */ 44 private String val; 45 46 /** 47 * Basic constructor. 48 */ 49 public StringValueExp() { 50 } 51 52 /** 53 * Creates a new <CODE>StringValueExp</CODE> representing the 54 * given string. 55 * 56 * @param val the string that will be the value of this expression 57 */ 58 public StringValueExp(String val) { 59 this.val = val; 60 } 61 62 /** 63 * Returns the string represented by the 64 * <CODE>StringValueExp</CODE> instance. 65 * 66 * @return the string. 67 */ 68 public String getValue() { 69 return val; 70 } 71 72 /** 73 * Returns the string representing the object. 74 */ 75 public String toString() { 76 return "'" + val.replace("'", "''") + "'"; 77 } 78 79 80 /** 81 * Sets the MBean server on which the query is to be performed. 82 * 83 * @param s The MBean server on which the query is to be performed. 84 */ 85 /* There is no need for this method, because if a query is being 86 evaluated a StringValueExp can only appear inside a QueryExp, 87 and that QueryExp will itself have done setMBeanServer. */ 88 @Deprecated 89 public void setMBeanServer(MBeanServer s) { } 90 91 /** 92 * Applies the ValueExp on a MBean. 93 * 94 * @param name The name of the MBean on which the ValueExp will be applied. 95 * 96 * @return The <CODE>ValueExp</CODE>. 97 * 98 * @throws BadStringOperationException {@inheritDoc} 99 * @throws BadBinaryOpValueExpException {@inheritDoc} 100 * @throws BadAttributeValueExpException {@inheritDoc} 101 * @throws InvalidApplicationException {@inheritDoc} 102 */ 103 @Override 104 public ValueExp apply(ObjectName name) throws BadStringOperationException, BadBinaryOpValueExpException, 105 BadAttributeValueExpException, InvalidApplicationException { 106 return this; 107 } 108 } 109