Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Basics
Best Practices

...

Basics

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lorem erat, lacinia et tristique vitae, sagittis ut ante. Vivamus nibh sapien, facilisis sit amet viverra sit amet, ornare quis massa. Proin vel ipsum risus. Donec lacus turpis, vehicula non pharetra vitae, cursus eu odio. Donec eu libero sapien. Sed blandit porta neque in venenatis. In rhoncus pretium risus sagittis laoreet. Donec venenatis laoreet nisl, vitae consequat sem semper in. In urna libero, sollicitudin sed posuere nec, condimentum et lorem. Duis condimentum mollis orci eu aliquam. Vestibulum fermentum, ante sed egestas facilisis, urna est consectetur sem, interdum sollicitudin leo augue vel mi. Vivamus accumsan felis sed tellus faucibus eget tincidunt libero dapibus. Integer id magna facilisis mi facilisis sagittis. Nunc at tellus eleifend quam elementum tempor quis sit amet sapien. Aliquam ac risus nec est tempus elementum vitae nec purus.

...

Best Practices

Suspendisse potenti. Nunc gravida risus non neque pulvinar tincidunt. Aliquam feugiat velit ac lectus mollis accumsan. Nam viverra dui vel sem eleifend iaculis vitae vitae nunc. Nam interdum lacinia venenatis. Quisque dignissim tortor eu sapien dignissim lobortis. Etiam in ipsum justo. Nam ultricies, leo nec imperdiet lobortis, elit mauris vehicula ante, in blandit nisi magna ac enim. Nullam ac enim metus, a hendrerit libero. Integer sit amet neque justo, ac sodales nisi. Sed volutpat tempor diam, sed commodo risus volutpat id. Sed viverra, dui vitae interdum malesuada, enim tellus adipiscing metus, eget molestie neque leo eu urna. Maecenas at ante nisl, id fringilla nisl. Cras sit amet felis non velit dapibus pellentesque id non metus. Donec in mi enim. Aenean eu augue in orci pulvinar interdum. Aliquam vestibulum urna non urna ullamcorper quis consequat nisl ultrices.

Examples

Morbi venenatis nisi ac orci accumsan id dapibus massa semper. In pellentesque, ante id fermentum bibendum, turpis diam fermentum turpis, sit amet feugiat erat tortor feugiat turpis. Nam et tellus massa, eu condimentum mi. Donec risus tellus, ullamcorper nec rhoncus luctus, tempor in velit. Aliquam a ipsum vitae sapien elementum elementum. Nullam vitae ligula sit amet odio dictum luctus vitae eget metus. Nullam faucibus risus vel purus congue hendrerit. Quisque quis lorem nisl, nec accumsan sapien. Vivamus blandit leo in odio tincidunt vitae pulvinar est lobortis. Nunc at lacus nibh, ac tincidunt risus. Sed ligula arcu, tincidunt sit amet ullamcorper et, congue et erat. Etiam auctor luctus condimentum.

Further Reading

Sed molestie nibh turpis, vel vehicula augue. Proin non eros purus, eu dignissim augue. Vestibulum lacinia arcu nibh. Vestibulum at justo enim. Sed venenatis facilisis iaculis. Etiam fermentum bibendum odio, vel suscipit mi rhoncus sed. Cras malesuada porta felis eu condimentum. Etiam scelerisque, sapien non feugiat interdum, nisi dolor mattis massa, quis euismod arcu libero ornare nunc. Nulla pellentesque faucibus augue ut malesuada. In vestibulum, diam et commodo dictum, nisl metus pellentesque ligula, a tempus urna dolor et sem. Aenean convallis mattis nulla eu eleifend. Phasellus fringilla lobortis tellus eu venenatis. Nulla porta odio ante. Cras id augue eu metus facilisis mattis et id est. Sed non dolor dui. Cras aliquam nulla sed eros ultricies sagittis. Integer eu accumsan libero.

How It Works

...

Section
Column
width15px

Column

Page Contents:

Table of Contents
maxLevel4
minLevel4

Configuration Overview

You configure each Swiz instance using the SwizConfig class. It allows you to modify common settings, and to provide values that allow your tags and code elsewhere to be more concise. Below is an example with all properties shown. Where applicable, they have been set to their default values. However, in most cases, the default values should work fine (see the note below on Configuration Defaults).

Code Block
xml
xml

<swiz:Swiz>
	<swiz:beanProviders>
		<local:MyBeans />
	</swiz:beanProviders>

	<swiz:loggingTargets>
		<swiz:SwizTraceTarget id="myTraceTarget" />
	</swiz:loggingTargets>

	<swiz:config>
		<swiz:SwizConfig
			setUpEventType="{ Event.ADDED_TO_STAGE }" 
			setUpEventPhase="{ EventPhase.CAPTURING_PHASE }" 
			setUpEventPriority="50"
			tearDownEventType="{ Event.REMOVED_FROM_STAGE }" 
			tearDownEventPhase="{ EventPhase.CAPTURING_PHASE }" 
			tearDownEventPriority="50"
			eventPackages="com.foo.event.*, org.bar.event.*"
			viewPackages="com.foo.view.*, org.bar.view.*"
			defaultFaultHandler="handleUnhandledFaults"
			defaultDispatcher="global" />
	</swiz:config>
</swiz:Swiz>


Info
titleConfiguration Defaults

Unless you are specifying your own set up and tear down values, the only configuration values that commonly need to be set are eventPackages and viewPackages. If you are using Swiz's support for server communication, you may also set defaultFaultHandler.

Note
titleSpecifying Packages

Note that due to limitations in the AS3 reflection API, when you define eventPackages, you must specify each package individually. Children of your specified packages cannot be resolved and must be explicitly set. This limitation does not apply to viewPackages because they are handled differently, but for consistency it may be useful to use the same rules to define both sets of packages.

Logging

As you can see above, Swiz includes a basic logging target called SwizTraceTarget to trace debugging information to the console. Due to the way the MXMLC compiler works, it was not possible to use the built-in Flex logging target(s), because it increases the size of the Swiz swc by an unacceptable amount. If necessary, you can extend the AbstractSwizLoggingTarget to customize the output.

setUpEventType, setUpEventPhase and setUpEventPriority

These properties configure the listener that Swiz will use to trigger the set up of views (assuming they are eligible) to inject dependencies, create event handlers, etc. The default is a capture phase listener (to catch all views regardless of their place in the display list hierarchy) for the Event.ADDED_TO_STAGE event, with a priority of 50.

tearDownEventType, tearDownEventPhase and tearDownEventPriority

These properties configure the listener that Swiz will use to trigger the tearing down of views to clean up injected dependencies, remove event handlers, etc. The default is a capture phase listener for the Event.REMOVED_FROM_STAGE event, with a priority of 50.

Default Dispatcher

The default dispatcher value is "global". This means that in the case where a Swiz instance is the child of another Swiz instance, the child will use the parent dispatcher. This allows for easy communication between Swiz instances, since they all share the same event dispatcher. However, if you want to force a child Swiz to use it's own dispatcher, you can set this value to "local". In most cases, developers should not need to change the default value ("global"). More information on parent-child Swiz instances can be found in the section on Module support.

Column
width15%