Function.java revision 56ed4167b942ec265f9cee70ac4d71d10b3835ce
1c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu/* 2c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * Copyright (C) 2010 Google Inc. 3c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * 4c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * Licensed under the Apache License, Version 2.0 (the "License"); 5c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * you may not use this file except in compliance with the License. 6c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * You may obtain a copy of the License at 7c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * 8c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * http://www.apache.org/licenses/LICENSE-2.0 9c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * 10c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * Unless required by applicable law or agreed to in writing, software 11c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * distributed under the License is distributed on an "AS IS" BASIS, 12c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * See the License for the specific language governing permissions and 14a0decc9a2481f938e1675b4f7bbd58761a882a36Argyrios Kyrtzidis * limitations under the License. 1555fc873017f10f6f566b182b70f6fc22aefa3464Chandler Carruth */ 16ec8605f1d7ec846dbf51047bfd5c56d32d1ff91cArgyrios Kyrtzidis 17695fb502825a53ccd178ec1c85c77929d88acb71Argyrios Kyrtzidispackage com.google.clearsilver.jsilver.functions; 18699bbf9f3fa67ededdd762d2637d72d2a4a88b7aArgyrios Kyrtzidis 1918c66fdc3c4008d335885695fe36fb5353c5f672Ted Kremenekimport com.google.clearsilver.jsilver.values.Value; 2018c66fdc3c4008d335885695fe36fb5353c5f672Ted Kremenek 219b663716449b618ba0390b1dbebc54fa8e971124Ted Kremenek/** 22c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * Plugin for JSilver functions made available to templates. e.g <cs var:my_function(x, y) > 23c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu */ 24c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xupublic interface Function { 259ef6537a894c33003359b1f9b9676e9178e028b7Ted Kremenek 26c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu /** 27c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu * Execute a function. Should always return a result. 28c196095fa0b83d10b2c20fccfcb8198ee66451aaZhongxing Xu */ 299843ba9be3560f7b283a6b5a927e4620cfce897dZhongxing Xu Value execute(Value... args); 30766c20130dc6b960be420483a168c82a66b5bb7bZhongxing Xu 319843ba9be3560f7b283a6b5a927e4620cfce897dZhongxing Xu boolean isEscapingFunction(); 329843ba9be3560f7b283a6b5a927e4620cfce897dZhongxing Xu 339843ba9be3560f7b283a6b5a927e4620cfce897dZhongxing Xu} 349843ba9be3560f7b283a6b5a927e4620cfce897dZhongxing Xu