]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.browsing.ui.common/src/org/simantics/browsing/ui/common/property/IProperty.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.browsing.ui.common / src / org / simantics / browsing / ui / common / property / IProperty.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.browsing.ui.common.property;
13
14 import java.util.EnumSet;
15
16 import org.eclipse.core.runtime.IAdaptable;
17
18
19 /**
20  * @author Tuukka Lehtonen
21  */
22 public interface IProperty extends IAdaptable, PropertyComparable {
23
24     enum Type {
25         DIRECT,
26         ASSERTED,
27     }
28
29     EnumSet<Type> DIRECT   = EnumSet.of(Type.DIRECT);
30     EnumSet<Type> ASSERTED = EnumSet.of(Type.ASSERTED);
31
32     /**
33      * @return
34      */
35     Type getType();
36
37     /**
38      * @return
39      */
40     <T> T getData(Class<T> clazz);
41
42     /**
43      * @param <T>
44      * @param clazz
45      * @return
46      */
47     <T> T adapt(Class<T> clazz);
48
49 }