Path: blob/master/test/jdk/java/beans/XMLDecoder/spec/TestProperty.java
41155 views
/*1* Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223/*24* @test25* @summary Tests <property> element26* @run main/othervm -Djava.security.manager=allow TestProperty27* @author Sergey Malenkov28*/2930import java.beans.XMLDecoder;3132public final class TestProperty extends AbstractTest {33public static final String XML34= "<java>\n"35+ " <property name=\"owner\">\n"36+ " <property name=\"message\">\n"37+ " <string>message</string>\n"38+ " </property>\n"39+ " <property id=\"message\" name=\"message\"/>\n"40+ " <property name=\"indexed\" index=\"1\">\n"41+ " <string>indexed</string>\n"42+ " </property>\n"43+ " <property id=\"indexed\" name=\"indexed\" index=\"1\"/>\n"44+ " </property>\n"45+ " <var idref=\"message\"/>\n"46+ " <var idref=\"indexed\"/>\n"47+ "</java>";4849public static void main(String[] args) {50new TestProperty().test(true);51}5253private int index;54private String message;5556public String getMessage() {57return this.message;58}5960public void setMessage(String message) {61this.message = message;62}6364public String getIndexed(int index) {65if (this.index != index) {66throw new Error("unexpected index");67}68return this.message;69}7071public void setIndexed(int index, String message) {72this.index = index;73this.message = message;74}7576@Override77protected void validate(XMLDecoder decoder) {78decoder.setOwner(this);79validate(decoder, "message");80validate(decoder, "indexed");81}8283private static void validate(XMLDecoder decoder, String name) {84if (!decoder.readObject().equals(name)) {85throw new Error(name + " expected");86}87}88}899091