| Author | djarvis <email> |
|---|---|
| Date | 2016-10-17 21:39:53 GMT-0700 |
| Commit | 2a42516afc7dcb7e4c73969be2eeedb08caed783 |
| Parent | 2e76df9 |
| Delta | 167 lines added, 1 line removed, 166-line increase |
| +application.title=AuthorEd | ||
| + | ||
| +# Comma-separated list of markdown filename extensions. | ||
| +application.extensions.markdown=*.Rmd,*.md,*.txt,*.markdown | ||
| +application.extensions.all=*.* | ||
| - | ||
| +org.markdownwriterfx.service.impl.DefaultSettings |
| +/* | ||
| + * Copyright (c) 2016 White Magic Software, Inc. | ||
| + * | ||
| + * All rights reserved. | ||
| + * | ||
| + * Redistribution and use in source and binary forms, with or without | ||
| + * modification, are permitted provided that the following conditions are met: | ||
| + * | ||
| + * o Redistributions of source code must retain the above copyright | ||
| + * notice, this list of conditions and the following disclaimer. | ||
| + * | ||
| + * o Redistributions in binary form must reproduce the above copyright | ||
| + * notice, this list of conditions and the following disclaimer in the | ||
| + * documentation and/or other materials provided with the distribution. | ||
| + * | ||
| + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| + */ | ||
| +package org.markdownwriterfx.service; | ||
| + | ||
| +/** | ||
| + * All services inherit from this one. | ||
| + * | ||
| + * @author White Magic Software, Ltd. | ||
| + */ | ||
| +public interface Service { | ||
| + | ||
| +} | ||
| +/* | ||
| + * Copyright (c) 2016 White Magic Software, Inc. | ||
| + * | ||
| + * All rights reserved. | ||
| + * | ||
| + * Redistribution and use in source and binary forms, with or without | ||
| + * modification, are permitted provided that the following conditions are met: | ||
| + * | ||
| + * o Redistributions of source code must retain the above copyright | ||
| + * notice, this list of conditions and the following disclaimer. | ||
| + * | ||
| + * o Redistributions in binary form must reproduce the above copyright | ||
| + * notice, this list of conditions and the following disclaimer in the | ||
| + * documentation and/or other materials provided with the distribution. | ||
| + * | ||
| + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| + */ | ||
| +package org.markdownwriterfx.service; | ||
| + | ||
| +import java.util.List; | ||
| + | ||
| +/** | ||
| + * Defines how settings and options can be retrieved. | ||
| + * | ||
| + * @author White Magic Software, Ltd. | ||
| + */ | ||
| +public interface Settings extends Service { | ||
| + | ||
| + /** | ||
| + * Returns a setting property or its default value. | ||
| + * | ||
| + * @param property The property key name to obtain its value. | ||
| + * @param defaultValue The default value to return iff the property cannot | ||
| + * be found. | ||
| + * | ||
| + * @return The property value for the given property key. | ||
| + */ | ||
| + public String getSetting( String property, String defaultValue ); | ||
| + | ||
| + /** | ||
| + * Returns a setting property or its default value. | ||
| + * | ||
| + * @param property The property key name to obtain its value. | ||
| + * @param defaults The default values to return iff the property cannot | ||
| + * be found. | ||
| + * | ||
| + * @return The property values for the given property key. | ||
| + */ | ||
| + public List<Object> getSettingList( String property, List<String> defaults ); | ||
| + | ||
| +} | ||
| +/* | ||
| + * Copyright (c) 2016 White Magic Software, Inc. | ||
| + * | ||
| + * All rights reserved. | ||
| + * | ||
| + * Redistribution and use in source and binary forms, with or without | ||
| + * modification, are permitted provided that the following conditions are met: | ||
| + * | ||
| + * o Redistributions of source code must retain the above copyright | ||
| + * notice, this list of conditions and the following disclaimer. | ||
| + * | ||
| + * o Redistributions in binary form must reproduce the above copyright | ||
| + * notice, this list of conditions and the following disclaimer in the | ||
| + * documentation and/or other materials provided with the distribution. | ||
| + * | ||
| + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| + */ | ||
| +package org.markdownwriterfx; | ||
| + | ||
| +import java.util.ServiceLoader; | ||
| + | ||
| +/** | ||
| + * | ||
| + * @author White Magic Software, Ltd. | ||
| + */ | ||
| +public class Services { | ||
| + /** | ||
| + * Loads a service based on its interface definition. | ||
| + * | ||
| + * @param <T> The service to load. | ||
| + * @param api The interface definition for the service. | ||
| + * | ||
| + * @return A class that implements the interface. | ||
| + */ | ||
| + public static <T> T load( Class<T> api ) { | ||
| + final ServiceLoader<T> services = ServiceLoader.load( api ); | ||
| + T result = null; | ||
| + | ||
| + for( T service : services ) { | ||
| + result = service; | ||
| + | ||
| + if( result != null ) { | ||
| + break; | ||
| + } | ||
| + } | ||
| + | ||
| + if( result == null ) { | ||
| + throw new RuntimeException( "No implementation for: " + api ); | ||
| + } | ||
| + | ||
| + return result; | ||
| + } | ||
| +} | ||