1: <?php
2:
3: namespace Genetsis\core\activityid;
4:
5: /**
6: * This class stores the Objects Type availables in ActivityID
7: *
8: * @package Genetsis
9: * @category Bean
10: * @version 2.0
11: */
12: abstract class ObjectType {
13: /** Represents any kind of significant notification. */
14: const ALERT = 'alert';
15:
16: /** Represents any kind of software application. */
17: const APPLICATION = 'application';
18:
19: /** Represents objects such as news articles, knowledge base entries, or other similar construct. Such objects generally consist of paragraphs
20: * of text, in some cases incorporating embedded media such as photos and inline hyperlinks to other resources. */
21: const ARTICLE = 'article';
22:
23: /** Represents audio content of any kind. */
24: const AUDIO = 'audio';
25:
26: /** Represents a badge or award granted to an object (typically a person object) */
27: const BADGE = 'badge';
28:
29: /** Objects of this type are used to carry arbirary Base64-encoded binary data within an Activity Stream object. It is primarily intended to
30: * attach binary data to other types of objects through the use of the attachments property. */
31: const BINARY = 'binary';
32:
33: /** Represents a pointer to some URL -- typically a web page. In most cases, bookmarks are specific to a given user and contain metadata chosen
34: * by that user. Bookmark Objects are similar in principle to the concept of bookmarks or favorites in a web browser. A bookmark represents a
35: * pointer to the URL, not the URL or the associated resource itself. Objects of this type SHOULD contain an additional targetUrl property
36: * whose value is a String containing the IRI of the target of the bookmark. */
37: const BOOKMARK = 'bookmark';
38:
39: /** Represents a generic collection of objects of any type. This object type can be used, for instance, to represent a collection of files like
40: * a folder; a collection of photos like an album; and so forth. Objects of this type MAY contain an additional objectTypes property whose
41: * value is an Array of Strings specifying the expected objectType of objects contained within the collection. */
42: const COLLECTION = 'collection';
43:
44: /** Represents a textual response to another object. Objects of this type MAY contain an additional inReplyTo property whose value is an Array
45: * of one or more other Activity Stream Objects for which the object is to be considered a response. */
46: const COMMENT = 'comment';
47:
48: /** Represents a device of any type. */
49: const DEVICE = 'device';
50:
51: /** Represents an event that occurs at a certain location during a particular period of time. */
52: const EVENT = 'event';
53:
54: /** Represents any form of document or file. Objects of this type MAY contain an additional fileUrl property whose value a dereferenceable IRI
55: * that can be used to retrieve the file; and an additional mimeType property whose value is the MIME type of the file described by the
56: * object. */
57: const FILE = 'file';
58:
59: /** Represents a game or competition of any kind. */
60: const GAME = 'game';
61:
62: /** Represents a grouping of objects in which member objects can join or leave. */
63: const GROUP = 'group';
64:
65: /** Represents a graphical image. Objects of this type MAY contain an additional fullImage property whose value is an Activity Streams Media
66: * Link to a "full-sized" representation of the image. */
67: const IMAGE = 'image';
68:
69: /** Represents a report about a problem or situation that needs to be resolved. For instance, the issue object can be used to represent reports
70: * detailing software defects, or reports of acceptable use violations, and so forth. */
71: const ISSUE = 'issue';
72:
73: /** Represents information about a job or a job posting. */
74: const JOB = 'job';
75:
76: /** Represents a short-form text message. This object is intended primarily for use in "micro-blogging" scenarios and in systems where users
77: * are invited to publish short, often plain-text messages whose useful lifespan is generally shorter than that of an article of weblog entry.
78: * A note is similar in structure to an article, but typically does not have a title or distinct paragraphs and tends to be much shorter in
79: * length. */
80: const NOTE = 'note';
81:
82: /** Represents an offer of any kind. */
83: const OFFER = 'offer';
84:
85: /** Represents an organization of any kind. */
86: const ORGANIZATION = 'organization';
87:
88: /** Represents an area, typically a web page, that is representative of, and generally managed by a particular entity. Such areas are usually
89: * dedicated to displaying descriptive information about the entity and showcasing recent content such as articles, photographs and videos.
90: * Most social networking applications, for example, provide individual users with their own dedicated "profile" pages. Several allow similar
91: * types of pages to be created for commercial entities, organizations or events. While the specific details of how pages are implemented,
92: * their characteristics and use may vary, the one unifying property is that they are typically "owned" by a single entity that is represented
93: * by the content provided by the page itself. */
94: const PAGE = 'page';
95:
96: /** Represents a permission that can be granted to an individual. For instance, a person can be granted permission to modify a file */
97: const PERMISSION = 'permission';
98:
99: /** Represents an individual person. */
100: const PERSON = 'person';
101:
102: /** Represents a physical location. Locations can be represented using geographic coordinates, a physical address, a free-form location name,
103: * or any combination of these. */
104: const PLACE = 'place';
105:
106: /** Represents any form of process. For instance, a long-running task that is started and expected to continue operating for a period of time. */
107: const PROCESS = 'process';
108:
109: /** Represents a commercial good or service. Objects of this type MAY contain an additional fullImage property whose value is an Activity
110: * Streams Media Link to an image resource representative of the product. */
111: const PRODUCT = 'product';
112:
113: /** Represents a question or a poll. Objects of this type MAY contain an additional options property whose value is an Array of possible
114: * answers to the question in the form of Activity Stream objects of any type. */
115: const QUESTION = 'question';
116:
117: /** Represents a primarily prose-based commentary on another object. */
118: const REVIEW = 'review';
119:
120: /** Represents a role assigned to some entity within a specific context. For instance, a person be assigned the "admin" role within a
121: * particular group. */
122: const ROLE = 'role';
123:
124: /** Represents any form of hosted or consumable service that performs some kind of work or benefit for other entities. Examples of such objects
125: * include websites, businesses, etc. */
126: const SERVICE = 'service';
127:
128: /** Represents an activity that has yet to be completed. */
129: const TASK = 'task';
130:
131: /** Represents a team of any type. */
132: const TEAM = 'team';
133:
134: /** Represents video content of any kind. */
135: const VIDEO = 'video';
136:
137: /** crafted for Activity ID */
138: const COUPON = 'coupon';
139: }
140: