001 /* 002 * Jpkg - Java library and tools for operating system package creation. 003 * 004 * Copyright (c) 2007 Three Rings Design, Inc. 005 * All rights reserved. 006 * 007 * Redistribution and use in source and binary forms, with or without 008 * modification, are permitted provided that the following conditions 009 * are met: 010 * 1. Redistributions of source code must retain the above copyright 011 * notice, this list of conditions and the following disclaimer. 012 * 2. Redistributions in binary form must reproduce the above copyright 013 * notice, this list of conditions and the following disclaimer in the 014 * documentation and/or other materials provided with the distribution. 015 * 3. Neither the name of the copyright owner nor the names of contributors 016 * may be used to endorse or promote products derived from this software 017 * without specific prior written permission. 018 * 019 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 020 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 021 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 022 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 023 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 024 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 025 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 026 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 027 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 028 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 029 * POSSIBILITY OF SUCH DAMAGE. 030 */ 031 package com.threerings.jpkg.ant.dpkg.scripts.standard; 032 033 import com.threerings.antidote.property.StringProperty; 034 import com.threerings.jpkg.ant.dpkg.scripts.TemplateScript; 035 import com.threerings.jpkg.debian.MaintainerScript.Type; 036 037 public class HelloWorld extends TemplateScript 038 { 039 public HelloWorld () 040 { 041 super(Type.POSTINST); 042 } 043 044 // from Field 045 public String getFieldName () 046 { 047 return "helloworld"; 048 } 049 050 // from PackageScript 051 public String getFriendlyName () 052 { 053 return "Hello world script"; 054 } 055 056 // from PackageScript 057 public boolean failOnError () 058 { 059 return true; 060 } 061 062 // from VelocityTemplate 063 public String getTemplateName () 064 { 065 return "scripts/helloworld.vm"; 066 } 067 068 /** 069 * Ant setter field: world. 070 */ 071 public void setWorld (String value) 072 { 073 _world.setValue(value); 074 } 075 076 @Override // from BaseComponent 077 protected void validateField () 078 { 079 switch (validateProperties(_world)) { 080 case ALL_INVALID: 081 case SOME_INVALID: 082 break; 083 084 case ALL_VALID: 085 addSubstitution(_world.getPropertyName(), _world.getValue()); 086 return; 087 } 088 } 089 090 /** Ant adder/setter fields. */ 091 private final StringProperty _world = new StringProperty("world", this); 092 }