= Publishing _(enum)_
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

The available policies as to whether data should be published to corresponding subscribers. The framework supports several kinds of data that are available for publishing:

* *xref:refguide:applib:index/services/publishing/spi/EntityChanges.adoc[EntityChanges] ... subscribed to via xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber]*

 *
* *_EntityPropertyChange_ ... subscribed to via xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber]*

 *
* *xref:refguide:applib:index/services/command/Command.adoc[Command] ... subscribed to via xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber]*

 *
* *xref:refguide:applib:index/services/iactn/Execution.adoc[Execution] ... subscribed to via xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber]*

 ** * * * 

== API

[source,java]
.Publishing.java
----
enum Publishing {
  AS_CONFIGURED     // <.>
  ENABLED     // <.>
  DISABLED     // <.>
  NOT_SPECIFIED     // <.>
}
----

<.> xref:#AS_CONFIGURED[AS_CONFIGURED]
+
--
Publishing of data triggered by interaction with this object should be handled as per the default publishing policy configured in `application.properties` .
--
<.> xref:#ENABLED[ENABLED]
+
--
Do publish data triggered by interaction with this object.
--
<.> xref:#DISABLED[DISABLED]
+
--
Do *not* publish data triggered by interaction with this object (even if otherwise configured to enable publishing).
--
<.> xref:#NOT_SPECIFIED[NOT_SPECIFIED]
+
--
Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta annotations or super-classes/interfaces).
--

== Members

[#AS_CONFIGURED]
=== AS_CONFIGURED

Publishing of data triggered by interaction with this object should be handled as per the default publishing policy configured in `application.properties` .

If no publishing policy is configured, then publishing is disabled.

[#ENABLED]
=== ENABLED

Do publish data triggered by interaction with this object.

[#DISABLED]
=== DISABLED

Do *not* publish data triggered by interaction with this object (even if otherwise configured to enable publishing).

[#NOT_SPECIFIED]
=== NOT_SPECIFIED

Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta annotations or super-classes/interfaces).
