Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Remove superfluous class, simplify definition sources

AuthorDaveJarvis <email>
Date2020-06-07 13:15:22 GMT-0700
Commit97ec30054cb0a3c4c6c0ed629ef7451f385fb418
Parent9f57cf6
Delta5 lines added, 72 lines removed, 67-line decrease
src/main/java/com/scrivenvar/definition/yaml/YamlDefinitionSource.java
/*
- * Copyright 2016 White Magic Software, Ltd.
+ * Copyright 2020 White Magic Software, Ltd.
*
* All rights reserved.
package com.scrivenvar.definition.yaml;
-import com.scrivenvar.definition.FileDefinitionSource;
+import com.scrivenvar.definition.DefinitionSource;
import com.scrivenvar.definition.TreeAdapter;
* @author White Magic Software, Ltd.
*/
-public class YamlDefinitionSource extends FileDefinitionSource {
+public class YamlDefinitionSource implements DefinitionSource {
private final YamlTreeAdapter mYamlTreeAdapter;
/**
* Constructs a new YAML definition source, populated from the given file.
*
* @param path Path to the YAML definition file.
*/
public YamlDefinitionSource( final Path path ) {
- super( path );
+ assert path != null;
+
mYamlTreeAdapter = new YamlTreeAdapter( path );
}
src/main/java/com/scrivenvar/definition/FileDefinitionSource.java
-/*
- * Copyright 2016 White Magic Software, Ltd.
- *
- * 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 com.scrivenvar.definition;
-
-import java.nio.file.Path;
-
-/**
- * Implements common behaviour for file definition sources.
- *
- * @author White Magic Software, Ltd.
- */
-public abstract class FileDefinitionSource implements DefinitionSource {
-
- private final Path mPath;
-
- /**
- * Constructs a new file definition source that can read and write data in the
- * hierarchical format contained within the file location specified by the
- * path.
- *
- * @param path Must not be null.
- */
- public FileDefinitionSource( final Path path ) {
- mPath = path;
- }
-
- /**
- * Returns the path to the file that is to be loaded as a definition source.
- *
- * @return A fully qualified {@link Path} to a file.
- */
- public Path getPath() {
- return mPath;
- }
-
- /**
- * @return The path represented by this object.
- */
- @Override
- public String toString() {
- return getPath().toString();
- }
-}