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