* @author Jörn Friedrich Dreyer * @author Lukas Reschke * @author Morris Jobke * @author Robin Appelman * @author Thomas Müller * @author Vincent Petry * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License, version 3, * along with this program. If not, see * */ // Show warning if a PHP version below 5.4.0 is used, this has to happen here // because base.php will already use 5.4 syntax. if (version_compare(PHP_VERSION, '5.4.0') === -1) { echo 'This version of ownCloud requires at least PHP 5.4.0
'; echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.'; return; } try { require_once 'lib/base.php'; OC::handleRequest(); } catch(\OC\ServiceUnavailableException $ex) { \OCP\Util::logException('index', $ex); //show the user a detailed error page OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); OC_Template::printExceptionErrorPage($ex); } catch (\OC\HintException $ex) { OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE); OC_Template::printErrorPage($ex->getMessage(), $ex->getHint()); } catch (Exception $ex) { \OCP\Util::logException('index', $ex); //show the user a detailed error page OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR); OC_Template::printExceptionErrorPage($ex); } Vaadin 6, 7, 8 is a Java framework for modern Java web applications: https://github.com/vaadin/frameworkwww-data
summaryrefslogtreecommitdiffstats
blob: 6b19a28fe7038e01c33629bf31da016bafa465f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>

</head>

<body bgcolor="white">

<!-- Package summary here -->

<p>Provides interfaces and classes in Vaadin.</p>

<h2>Package Specification</h2>

<p><strong>Interface hierarchy</strong></p>

<p>The general interface hierarchy looks like this:</p>

<p style="text-align: center;"><img
	src="doc-files/component_interfaces.gif" /></p>

<p><i>Note that the above picture includes only the main
interfaces. This package includes several other lesser sub-interfaces
which are not significant in this scope. The interfaces not appearing
here are documented with the classes that define them.</i></p>

<p>The {@link com.vaadin.ui.Component} interface is the top-level
interface which must be implemented by all user interface components in
Vaadin. It defines the common properties of the components and how the
framework will handle them. Most simple components, such as {@link
com.vaadin.ui.Button}, for example, do not need to implement the
lower-level interfaces described below. Notice that also the classes and
interfaces required by the component event framework are defined in
{@link com.vaadin.ui.Component}.</p>

<p>The next level in the component hierarchy are the classes
implementing the {@link com.vaadin.ui.ComponentContainer} interface. It
adds the capacity to contain other components to {@link
com.vaadin.ui.Component} with a simple API.</p>

<p>The third and last level is the {@link com.vaadin.ui.Layout},
which adds the concept of location to the components contained in a
{@link com.vaadin.ui.ComponentContainer}. It can be used to create
containers which contents can be positioned.</p>

<p><strong>Component class hierarchy</strong></p>

<p>The actual component classes form a hierarchy like this:</p>

<center><img src="doc-files/component_class_hierarchy.gif" /></center>
<br />

<center><i>Underlined classes are abstract.</i></center>

<p>At the top level is {@link com.vaadin.ui.AbstractComponent} which
implements the {@link com.vaadin.ui.Component} interface. As the name
suggests it is abstract, but it does include a default implementation
for all methods defined in <code>Component</code> so that a component is
free to override only those functionalities it needs.</p>

<p>As seen in the picture, <code>AbstractComponent</code> serves as
the superclass for several "real" components, but it also has a some
abstract extensions. {@link com.vaadin.ui.AbstractComponentContainer}
serves as the root class for all components (for example, panels and
windows) who can contain other components. {@link
com.vaadin.ui.AbstractField}, on the other hand, implements several
interfaces to provide a base class for components that are used for data
display and manipulation.</p>


<!-- Package spec here -->

<!-- Put @see and @since tags down here. -->

</body>
</html>