From a6f91086f009644c2fde12320eaea9bab50fa1bc Mon Sep 17 00:00:00 2001 From: Chris Cromer Date: Fri, 23 Jun 2017 19:21:56 -0400 Subject: [PATCH] Add leerXML clase Cambiar el nombre de programa y su package Agregar LICENSE y README.md Agregar un ejemplo mt.xml Crear JavaDoc --- .idea/misc.xml | 18 + LICENSE | 12 + README.md | 16 + doc/allclasses-frame.html | 21 + doc/allclasses-noframe.html | 21 + doc/constant-values.html | 122 ++++ doc/deprecated-list.html | 122 ++++ doc/help-doc.html | 223 +++++++ doc/index-files/index-1.html | 129 ++++ doc/index-files/index-2.html | 133 ++++ doc/index-files/index-3.html | 133 ++++ doc/index-files/index-4.html | 139 +++++ doc/index-files/index-5.html | 137 +++++ doc/index-files/index-6.html | 131 ++++ doc/index-files/index-7.html | 133 ++++ doc/index.html | 72 +++ doc/mt/Controller.html | 235 +++++++ doc/mt/LeerXML.SimpleErrorHandler.html | 403 ++++++++++++ doc/mt/LeerXML.html | 300 +++++++++ doc/mt/MT.html | 344 +++++++++++ doc/mt/class-use/Controller.html | 122 ++++ .../class-use/LeerXML.SimpleErrorHandler.html | 122 ++++ doc/mt/class-use/LeerXML.html | 122 ++++ doc/mt/class-use/MT.html | 122 ++++ doc/mt/package-frame.html | 22 + doc/mt/package-summary.html | 152 +++++ doc/mt/package-tree.html | 138 +++++ doc/mt/package-use.html | 122 ++++ doc/overview-tree.html | 142 +++++ doc/package-list | 1 + doc/script.js | 30 + doc/stylesheet.css | 574 ++++++++++++++++++ mt.xml | 16 + src/mt/Controller.java | 11 + src/mt/LeerXML.java | 114 ++++ src/mt/MT.java | 67 ++ src/{sample/sample.fxml => mt/mt.fxml} | 2 +- src/sample/Controller.java | 4 - src/sample/Main.java | 40 -- 39 files changed, 4722 insertions(+), 45 deletions(-) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 doc/allclasses-frame.html create mode 100644 doc/allclasses-noframe.html create mode 100644 doc/constant-values.html create mode 100644 doc/deprecated-list.html create mode 100644 doc/help-doc.html create mode 100644 doc/index-files/index-1.html create mode 100644 doc/index-files/index-2.html create mode 100644 doc/index-files/index-3.html create mode 100644 doc/index-files/index-4.html create mode 100644 doc/index-files/index-5.html create mode 100644 doc/index-files/index-6.html create mode 100644 doc/index-files/index-7.html create mode 100644 doc/index.html create mode 100644 doc/mt/Controller.html create mode 100644 doc/mt/LeerXML.SimpleErrorHandler.html create mode 100644 doc/mt/LeerXML.html create mode 100644 doc/mt/MT.html create mode 100644 doc/mt/class-use/Controller.html create mode 100644 doc/mt/class-use/LeerXML.SimpleErrorHandler.html create mode 100644 doc/mt/class-use/LeerXML.html create mode 100644 doc/mt/class-use/MT.html create mode 100644 doc/mt/package-frame.html create mode 100644 doc/mt/package-summary.html create mode 100644 doc/mt/package-tree.html create mode 100644 doc/mt/package-use.html create mode 100644 doc/overview-tree.html create mode 100644 doc/package-list create mode 100644 doc/script.js create mode 100644 doc/stylesheet.css create mode 100644 mt.xml create mode 100644 src/mt/Controller.java create mode 100644 src/mt/LeerXML.java create mode 100644 src/mt/MT.java rename src/{sample/sample.fxml => mt/mt.fxml} (60%) delete mode 100644 src/sample/Controller.java delete mode 100644 src/sample/Main.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 94fee86..e5c111b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -38,6 +38,24 @@ + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f58991c --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +Copyright 2017 Christopher Cromer +Copyright 2017 Carlos Faúndez + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. 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. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..c3b2aba --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Maquina de Turning + +Este proyecto es un implimentación de la Maquina de Turing. + +# License + +El programa es bajo la licensa de "3 Clause BSD" que se encuentra en: [LICENSE](LICENSE) + +## Código + +El código se encuentra en la carpeta src o en github: [fundamentos](https://github.com/cromerc/fundamentos) + +## JavaDoc + +La documentación del proyecto se puede ver en la carpeta doc o en la enlace: [JavaDoc](https://github.com/cromerc/fundamentos/doc/index.html) +Vamos a cambiar la enlace a otra lugar despues, ignora que muestra el codigo. \ No newline at end of file diff --git a/doc/allclasses-frame.html b/doc/allclasses-frame.html new file mode 100644 index 0000000..1ce34b3 --- /dev/null +++ b/doc/allclasses-frame.html @@ -0,0 +1,21 @@ + + + + + +All Classes + + + + + +

All Classes

+ + + diff --git a/doc/allclasses-noframe.html b/doc/allclasses-noframe.html new file mode 100644 index 0000000..88105ba --- /dev/null +++ b/doc/allclasses-noframe.html @@ -0,0 +1,21 @@ + + + + + +All Classes + + + + + +

All Classes

+ + + diff --git a/doc/constant-values.html b/doc/constant-values.html new file mode 100644 index 0000000..db93f5f --- /dev/null +++ b/doc/constant-values.html @@ -0,0 +1,122 @@ + + + + + +Constant Field Values + + + + + + + + + + + +
+

Constant Field Values

+

Contents

+
+ + + + + + diff --git a/doc/deprecated-list.html b/doc/deprecated-list.html new file mode 100644 index 0000000..5674669 --- /dev/null +++ b/doc/deprecated-list.html @@ -0,0 +1,122 @@ + + + + + +Deprecated List + + + + + + + + +
+ + + + + + + +
+ + +
+

Deprecated API

+

Contents

+
+ +
+ + + + + + + +
+ + + + diff --git a/doc/help-doc.html b/doc/help-doc.html new file mode 100644 index 0000000..5fccccf --- /dev/null +++ b/doc/help-doc.html @@ -0,0 +1,223 @@ + + + + + +API Help + + + + + + + + + + + +
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+
    +
  • +

    Package

    +

    Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:

    +
      +
    • Interfaces (italic)
    • +
    • Classes
    • +
    • Enums
    • +
    • Exceptions
    • +
    • Errors
    • +
    • Annotation Types
    • +
    +
  • +
  • +

    Class/Interface

    +

    Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
      +
    • Class inheritance diagram
    • +
    • Direct Subclasses
    • +
    • All Known Subinterfaces
    • +
    • All Known Implementing Classes
    • +
    • Class/interface declaration
    • +
    • Class/interface description
    • +
    +
      +
    • Nested Class Summary
    • +
    • Field Summary
    • +
    • Constructor Summary
    • +
    • Method Summary
    • +
    +
      +
    • Field Detail
    • +
    • Constructor Detail
    • +
    • Method Detail
    • +
    +

    Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

    +
  • +
  • +

    Annotation Type

    +

    Each annotation type has its own separate page with the following sections:

    +
      +
    • Annotation Type declaration
    • +
    • Annotation Type description
    • +
    • Required Element Summary
    • +
    • Optional Element Summary
    • +
    • Element Detail
    • +
    +
  • +
  • +

    Enum

    +

    Each enum has its own separate page with the following sections:

    +
      +
    • Enum declaration
    • +
    • Enum description
    • +
    • Enum Constant Summary
    • +
    • Enum Constant Detail
    • +
    +
  • +
  • +

    Use

    +

    Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.

    +
  • +
  • +

    Tree (Class Hierarchy)

    +

    There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

    +
      +
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • +
    • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
    • +
    +
  • +
  • +

    Deprecated API

    +

    The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

    +
  • +
  • +

    Index

    +

    The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

    +
  • +
  • +

    Prev/Next

    +

    These links take you to the next or previous class, interface, package, or related page.

    +
  • +
  • +

    Frames/No Frames

    +

    These links show and hide the HTML frames. All pages are available with or without frames.

    +
  • +
  • +

    All Classes

    +

    The All Classes link shows all classes and interfaces except non-static nested types.

    +
  • +
  • +

    Serialized Form

    +

    Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

    +
  • +
  • +

    Constant Field Values

    +

    The Constant Field Values page lists the static final fields and their values.

    +
  • +
+This help file applies to API documentation generated using the standard doclet.
+ + + + + + diff --git a/doc/index-files/index-1.html b/doc/index-files/index-1.html new file mode 100644 index 0000000..e183708 --- /dev/null +++ b/doc/index-files/index-1.html @@ -0,0 +1,129 @@ + + + + + +C-Index + + + + + + + + +
+ + + + + + + +
+ + +
C E F L M S W  + + +

C

+
+
Controller - Class in mt
+
 
+
Controller() - Constructor for class mt.Controller
+
 
+
+C E F L M S W 
+ +
+ + + + + + + +
+ + + + diff --git a/doc/index-files/index-2.html b/doc/index-files/index-2.html new file mode 100644 index 0000000..acbaf8d --- /dev/null +++ b/doc/index-files/index-2.html @@ -0,0 +1,133 @@ + + + + + +E-Index + + + + + + + + +
+ + + + + + + +
+ + +
C E F L M S W  + + +

E

+
+
error(SAXParseException) - Method in class mt.LeerXML.SimpleErrorHandler
+
+
Un error
+
+
error(SAXParseException) - Method in class mt.LeerXML.SimpleErrorHandler
+
+
Un error
+
+
+C E F L M S W 
+ +
+ + + + + + + +
+ + + + diff --git a/doc/index-files/index-3.html b/doc/index-files/index-3.html new file mode 100644 index 0000000..78bdc66 --- /dev/null +++ b/doc/index-files/index-3.html @@ -0,0 +1,133 @@ + + + + + +F-Index + + + + + + + + +
+ + + + + + + +
+ + +
C E F L M S W  + + +

F

+
+
fatalError(SAXParseException) - Method in class mt.LeerXML.SimpleErrorHandler
+
+
Un error fatal
+
+
fatalError(SAXParseException) - Method in class mt.LeerXML.SimpleErrorHandler
+
+
Un error fatal
+
+
+C E F L M S W 
+ +
+ + + + + + + +
+ + + + diff --git a/doc/index-files/index-4.html b/doc/index-files/index-4.html new file mode 100644 index 0000000..20175e7 --- /dev/null +++ b/doc/index-files/index-4.html @@ -0,0 +1,139 @@ + + + + + +L-Index + + + + + + + + +
+ + + + + + + +
+ + +
C E F L M S W  + + +

L

+
+
leerArchivo(File) - Method in class mt.LeerXML
+
+
El metodo va a verificar que el archivo existe y que contiene xml valido.
+
+
LeerXML - Class in mt
+
+
Esta clase puede abrir y validar un archivo de xml.
+
+
LeerXML() - Constructor for class mt.LeerXML
+
 
+
LeerXML.SimpleErrorHandler - Class in mt
+
+
Esta clase se usa para validar que el xml es valido.
+
+
+C E F L M S W 
+ +
+ + + + + + + +
+ + + + diff --git a/doc/index-files/index-5.html b/doc/index-files/index-5.html new file mode 100644 index 0000000..fb579c6 --- /dev/null +++ b/doc/index-files/index-5.html @@ -0,0 +1,137 @@ + + + + + +M-Index + + + + + + + + +
+ + + + + + + +
+ + +
C E F L M S W  + + +

M

+
+
main(String[]) - Static method in class mt.MT
+
+
El metodo principal del programa
+
+
mt - package mt
+
 
+
MT - Class in mt
+
+
Esta clase es la clase princial de la Maquina Turing
+
+
MT() - Constructor for class mt.MT
+
 
+
+C E F L M S W 
+ +
+ + + + + + + +
+ + + + diff --git a/doc/index-files/index-6.html b/doc/index-files/index-6.html new file mode 100644 index 0000000..d0bc139 --- /dev/null +++ b/doc/index-files/index-6.html @@ -0,0 +1,131 @@ + + + + + +S-Index + + + + + + + + +
+ + + + + + + +
+ + +
C E F L M S W  + + +

S

+
+
SimpleErrorHandler() - Constructor for class mt.LeerXML.SimpleErrorHandler
+
 
+
start(Stage) - Method in class mt.MT
+
+
Metodo de JavaFX llamada para generar el interfaz grafico.
+
+
+C E F L M S W 
+ +
+ + + + + + + +
+ + + + diff --git a/doc/index-files/index-7.html b/doc/index-files/index-7.html new file mode 100644 index 0000000..b231474 --- /dev/null +++ b/doc/index-files/index-7.html @@ -0,0 +1,133 @@ + + + + + +W-Index + + + + + + + + +
+ + + + + + + +
+ + +
C E F L M S W  + + +

W

+
+
warning(SAXParseException) - Method in class mt.LeerXML.SimpleErrorHandler
+
+
Un warning
+
+
warning(SAXParseException) - Method in class mt.LeerXML.SimpleErrorHandler
+
+
Un warning
+
+
+C E F L M S W 
+ +
+ + + + + + + +
+ + + + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..0ddb806 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,72 @@ + + + + + +Generated Documentation (Untitled) + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="mt/package-summary.html">Non-frame version</a>.</p> + + + diff --git a/doc/mt/Controller.html b/doc/mt/Controller.html new file mode 100644 index 0000000..6b64867 --- /dev/null +++ b/doc/mt/Controller.html @@ -0,0 +1,235 @@ + + + + + +Controller + + + + + + + + + + + + +
+
mt
+

Class Controller

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • mt.Controller
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class Controller
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Controller() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Controller

        +
        public Controller()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/doc/mt/LeerXML.SimpleErrorHandler.html b/doc/mt/LeerXML.SimpleErrorHandler.html new file mode 100644 index 0000000..3933db0 --- /dev/null +++ b/doc/mt/LeerXML.SimpleErrorHandler.html @@ -0,0 +1,403 @@ + + + + + +LeerXML.SimpleErrorHandler + + + + + + + + + + + + +
+
mt
+

Class LeerXML.SimpleErrorHandler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • mt.LeerXML.SimpleErrorHandler
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    org.xml.sax.ErrorHandler
    +
    +
    +
    Enclosing class:
    +
    LeerXML
    +
    +
    +
    +
    protected class LeerXML.SimpleErrorHandler
    +extends java.lang.Object
    +implements jdk.internal.org.xml.sax.ErrorHandler, org.xml.sax.ErrorHandler
    +
    Esta clase se usa para validar que el xml es valido.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ModifierConstructor and Description
      protected SimpleErrorHandler() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voiderror(jdk.internal.org.xml.sax.SAXParseException e) +
      Un error
      +
      voiderror(org.xml.sax.SAXParseException e) +
      Un error
      +
      voidfatalError(jdk.internal.org.xml.sax.SAXParseException e) +
      Un error fatal
      +
      voidfatalError(org.xml.sax.SAXParseException e) +
      Un error fatal
      +
      voidwarning(jdk.internal.org.xml.sax.SAXParseException e) +
      Un warning
      +
      voidwarning(org.xml.sax.SAXParseException e) +
      Un warning
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SimpleErrorHandler

        +
        protected SimpleErrorHandler()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        warning

        +
        public void warning(jdk.internal.org.xml.sax.SAXParseException e)
        +             throws jdk.internal.org.xml.sax.SAXException
        +
        Un warning
        +
        +
        Parameters:
        +
        e - La excepción
        +
        Throws:
        +
        jdk.internal.org.xml.sax.SAXException - La excepción thrown
        +
        +
      • +
      + + + +
        +
      • +

        error

        +
        public void error(jdk.internal.org.xml.sax.SAXParseException e)
        +           throws jdk.internal.org.xml.sax.SAXException
        +
        Un error
        +
        +
        Parameters:
        +
        e - La excepción
        +
        Throws:
        +
        jdk.internal.org.xml.sax.SAXException - La excepción thrown
        +
        +
      • +
      + + + +
        +
      • +

        fatalError

        +
        public void fatalError(jdk.internal.org.xml.sax.SAXParseException e)
        +                throws jdk.internal.org.xml.sax.SAXException
        +
        Un error fatal
        +
        +
        Parameters:
        +
        e - La excepción
        +
        Throws:
        +
        jdk.internal.org.xml.sax.SAXException - La excepción thrown
        +
        +
      • +
      + + + +
        +
      • +

        warning

        +
        public void warning(org.xml.sax.SAXParseException e)
        +
        Un warning
        +
        +
        Specified by:
        +
        warning in interface org.xml.sax.ErrorHandler
        +
        Parameters:
        +
        e - La excepción
        +
        +
      • +
      + + + +
        +
      • +

        error

        +
        public void error(org.xml.sax.SAXParseException e)
        +
        Un error
        +
        +
        Specified by:
        +
        error in interface org.xml.sax.ErrorHandler
        +
        Parameters:
        +
        e - La excepción
        +
        +
      • +
      + + + +
        +
      • +

        fatalError

        +
        public void fatalError(org.xml.sax.SAXParseException e)
        +
        Un error fatal
        +
        +
        Specified by:
        +
        fatalError in interface org.xml.sax.ErrorHandler
        +
        Parameters:
        +
        e - La excepción
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/doc/mt/LeerXML.html b/doc/mt/LeerXML.html new file mode 100644 index 0000000..2e8212d --- /dev/null +++ b/doc/mt/LeerXML.html @@ -0,0 +1,300 @@ + + + + + +LeerXML + + + + + + + + + + + + +
+
mt
+

Class LeerXML

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • mt.LeerXML
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    class LeerXML
    +extends java.lang.Object
    +
    Esta clase puede abrir y validar un archivo de xml.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClass and Description
      protected class LeerXML.SimpleErrorHandler +
      Esta clase se usa para validar que el xml es valido.
      +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      LeerXML() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      (package private) org.w3c.dom.DocumentleerArchivo(java.io.File archivo) +
      El metodo va a verificar que el archivo existe y que contiene xml valido.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LeerXML

        +
        LeerXML()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        leerArchivo

        +
        org.w3c.dom.Document leerArchivo(java.io.File archivo)
        +
        El metodo va a verificar que el archivo existe y que contiene xml valido. Si es valido devuelve el documento.
        +
        +
        Parameters:
        +
        archivo - Es el archivo a abrir.
        +
        Returns:
        +
        Devuelve un document de xml o null si habia algun error.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/doc/mt/MT.html b/doc/mt/MT.html new file mode 100644 index 0000000..f1d2f2d --- /dev/null +++ b/doc/mt/MT.html @@ -0,0 +1,344 @@ + + + + + +MT + + + + + + + + + + + + +
+
mt
+

Class MT

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • javafx.application.Application
    • +
    • +
        +
      • mt.MT
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class MT
    +extends javafx.application.Application
    +
    Esta clase es la clase princial de la Maquina Turing
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Nested Class Summary

      +
        +
      • + + +

        Nested classes/interfaces inherited from class javafx.application.Application

        +javafx.application.Application.Parameters
      • +
      +
    • +
    + +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class javafx.application.Application

        +STYLESHEET_CASPIAN, STYLESHEET_MODENA
      • +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      MT() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static voidmain(java.lang.String[] args) +
      El metodo principal del programa
      +
      voidstart(javafx.stage.Stage primaryStage) +
      Metodo de JavaFX llamada para generar el interfaz grafico.
      +
      +
        +
      • + + +

        Methods inherited from class javafx.application.Application

        +getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, stop
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MT

        +
        public MT()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        start

        +
        public void start(javafx.stage.Stage primaryStage)
        +           throws java.lang.Exception
        +
        Metodo de JavaFX llamada para generar el interfaz grafico.
        +
        +
        Specified by:
        +
        start in class javafx.application.Application
        +
        Parameters:
        +
        primaryStage - La ventana principal
        +
        Throws:
        +
        java.lang.Exception - La excepción
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +
        El metodo principal del programa
        +
        +
        Parameters:
        +
        args - Los argumentos pasado al programa
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/doc/mt/class-use/Controller.html b/doc/mt/class-use/Controller.html new file mode 100644 index 0000000..4f206d6 --- /dev/null +++ b/doc/mt/class-use/Controller.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class mt.Controller + + + + + + + + + + + +
+

Uses of Class
mt.Controller

+
+
No usage of mt.Controller
+ + + + + + diff --git a/doc/mt/class-use/LeerXML.SimpleErrorHandler.html b/doc/mt/class-use/LeerXML.SimpleErrorHandler.html new file mode 100644 index 0000000..ad57cac --- /dev/null +++ b/doc/mt/class-use/LeerXML.SimpleErrorHandler.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class mt.LeerXML.SimpleErrorHandler + + + + + + + + + + + +
+

Uses of Class
mt.LeerXML.SimpleErrorHandler

+
+
No usage of mt.LeerXML.SimpleErrorHandler
+ + + + + + diff --git a/doc/mt/class-use/LeerXML.html b/doc/mt/class-use/LeerXML.html new file mode 100644 index 0000000..71ef64c --- /dev/null +++ b/doc/mt/class-use/LeerXML.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class mt.LeerXML + + + + + + + + + + + +
+

Uses of Class
mt.LeerXML

+
+
No usage of mt.LeerXML
+ + + + + + diff --git a/doc/mt/class-use/MT.html b/doc/mt/class-use/MT.html new file mode 100644 index 0000000..a75d510 --- /dev/null +++ b/doc/mt/class-use/MT.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class mt.MT + + + + + + + + + + + +
+

Uses of Class
mt.MT

+
+
No usage of mt.MT
+ + + + + + diff --git a/doc/mt/package-frame.html b/doc/mt/package-frame.html new file mode 100644 index 0000000..337232c --- /dev/null +++ b/doc/mt/package-frame.html @@ -0,0 +1,22 @@ + + + + + +mt + + + + + +

mt

+
+

Classes

+ +
+ + diff --git a/doc/mt/package-summary.html b/doc/mt/package-summary.html new file mode 100644 index 0000000..d717910 --- /dev/null +++ b/doc/mt/package-summary.html @@ -0,0 +1,152 @@ + + + + + +mt + + + + + + + + + + + +
+

Package mt

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    Controller 
    LeerXML +
    Esta clase puede abrir y validar un archivo de xml.
    +
    MT +
    Esta clase es la clase princial de la Maquina Turing
    +
    +
  • +
+
+ + + + + + diff --git a/doc/mt/package-tree.html b/doc/mt/package-tree.html new file mode 100644 index 0000000..68c6532 --- /dev/null +++ b/doc/mt/package-tree.html @@ -0,0 +1,138 @@ + + + + + +mt Class Hierarchy + + + + + + + + + + + +
+

Hierarchy For Package mt

+
+
+

Class Hierarchy

+ +
+ + + + + + diff --git a/doc/mt/package-use.html b/doc/mt/package-use.html new file mode 100644 index 0000000..e5df553 --- /dev/null +++ b/doc/mt/package-use.html @@ -0,0 +1,122 @@ + + + + + +Uses of Package mt + + + + + + + + + + + +
+

Uses of Package
mt

+
+
No usage of mt
+ + + + + + diff --git a/doc/overview-tree.html b/doc/overview-tree.html new file mode 100644 index 0000000..bb9c18d --- /dev/null +++ b/doc/overview-tree.html @@ -0,0 +1,142 @@ + + + + + +Class Hierarchy + + + + + + + + + + + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ + + + + + diff --git a/doc/package-list b/doc/package-list new file mode 100644 index 0000000..665fe66 --- /dev/null +++ b/doc/package-list @@ -0,0 +1 @@ +mt diff --git a/doc/script.js b/doc/script.js new file mode 100644 index 0000000..b346356 --- /dev/null +++ b/doc/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[key] & type) != 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) +{ + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} diff --git a/doc/stylesheet.css b/doc/stylesheet.css new file mode 100644 index 0000000..98055b2 --- /dev/null +++ b/doc/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} diff --git a/mt.xml b/mt.xml new file mode 100644 index 0000000..48922cc --- /dev/null +++ b/mt.xml @@ -0,0 +1,16 @@ + + + 0 + 0 + 0 + 0 + R + + + 0 + 1 + 1 + 1 + R + + \ No newline at end of file diff --git a/src/mt/Controller.java b/src/mt/Controller.java new file mode 100644 index 0000000..4629e92 --- /dev/null +++ b/src/mt/Controller.java @@ -0,0 +1,11 @@ +/* Copyright (c) 2017 Christopher Cromer + * Copyright (c) 2017 Carlos Faúndez + * + * This file is part of mt. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution. + * This file may not be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file. + */ + +package mt; + +public class Controller { +} diff --git a/src/mt/LeerXML.java b/src/mt/LeerXML.java new file mode 100644 index 0000000..d9c245c --- /dev/null +++ b/src/mt/LeerXML.java @@ -0,0 +1,114 @@ +/* Copyright (c) 2017 Christopher Cromer + * Copyright (c) 2017 Carlos Faúndez + * + * This file is part of mt. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution. + * This file may not be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file. + */ + +package mt; + +import java.io.File; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.DocumentBuilder; + +import jdk.internal.org.xml.sax.ErrorHandler; +import jdk.internal.org.xml.sax.SAXException; +import jdk.internal.org.xml.sax.SAXParseException; + +import org.w3c.dom.Document; + +/** + * Esta clase puede abrir y validar un archivo de xml. + */ +class LeerXML { + + /** + * El metodo va a verificar que el archivo existe y que contiene xml valido. Si es valido devuelve el documento. + * + * @param archivo Es el archivo a abrir. + * @return Devuelve un document de xml o null si habia algun error. + */ + Document leerArchivo(File archivo) { + try { + if (!archivo.exists()) { + System.out.println("El archivo " + archivo.getName() + " no existe!"); + return null; + } + + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setValidating(false); + dbf.setNamespaceAware(true); + + DocumentBuilder db = dbf.newDocumentBuilder(); + db.setErrorHandler(new SimpleErrorHandler()); + Document document = db.parse(archivo); + document.getDocumentElement().normalize(); + return document; + } + catch(Exception e) { + System.out.println(e.getMessage()); + e.printStackTrace(); + return null; + } + } + + /** + * Esta clase se usa para validar que el xml es valido. + */ + protected class SimpleErrorHandler implements ErrorHandler, org.xml.sax.ErrorHandler { + + /** + * Un warning + * @param e La excepción + * @throws SAXException La excepción thrown + */ + public void warning(SAXParseException e) throws SAXException { + System.out.println(e.getMessage()); + } + + /** + * Un error + * @param e La excepción + * @throws SAXException La excepción thrown + */ + public void error(SAXParseException e) throws SAXException { + System.out.println(e.getMessage()); + } + + /** + * Un error fatal + * @param e La excepción + * @throws SAXException La excepción thrown + */ + public void fatalError(SAXParseException e) throws SAXException { + System.out.println(e.getMessage()); + } + + /** + * Un warning + * @param e La excepción + */ + @Override + public void warning(org.xml.sax.SAXParseException e) { + System.out.println(e.getMessage()); + } + + /** + * Un error + * @param e La excepción + */ + @Override + public void error(org.xml.sax.SAXParseException e) { + System.out.println(e.getMessage()); + } + + /** + * Un error fatal + * @param e La excepción + */ + @Override + public void fatalError(org.xml.sax.SAXParseException e) { + System.out.println(e.getMessage()); + } + } +} \ No newline at end of file diff --git a/src/mt/MT.java b/src/mt/MT.java new file mode 100644 index 0000000..29de45c --- /dev/null +++ b/src/mt/MT.java @@ -0,0 +1,67 @@ +/* Copyright (c) 2017 Christopher Cromer + * Copyright (c) 2017 Carlos Faúndez + * + * This file is part of mt. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution. + * This file may not be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file. + */ + +package mt; + +import javafx.application.Application; +import javafx.event.EventHandler; +import javafx.scene.Group; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.stage.FileChooser; +import javafx.stage.Stage; +import javafx.scene.input.MouseEvent; + +import org.w3c.dom.Document; + +import java.io.File; + +/** + * Esta clase es la clase princial de la Maquina Turing + */ +public class MT extends Application { + + /** + * Metodo de JavaFX llamada para generar el interfaz grafico. + * @param primaryStage La ventana principal + * @throws Exception La excepción + */ + @Override + public void start(final Stage primaryStage) throws Exception{ + //Parent root = FXMLLoader.load(getClass().getResource("mt.fxml")); + Group root = new Group(); + primaryStage.setTitle("Maquina de Turing"); + primaryStage.setScene(new Scene(root, 300, 275)); + Button button = new Button("Elegir archivo"); + button.setDefaultButton(true); + button.setLayoutX(130);button.setLayoutY(125); + EventHandler eventHandler = new EventHandler() { + @Override + public void handle(MouseEvent event) { + FileChooser fileChooser = new FileChooser(); + fileChooser.setTitle("Abrir archivo XML"); + File archivo = fileChooser.showOpenDialog(primaryStage); + LeerXML xml = new LeerXML(); + Document document = xml.leerArchivo(archivo); + if (document != null) { + System.out.println(document.getDocumentElement().getNodeName()); + } + } + }; + button.addEventFilter(MouseEvent.MOUSE_CLICKED,eventHandler); + root.getChildren().add(button); + primaryStage.show(); + } + + /** + * El metodo principal del programa + * @param args Los argumentos pasado al programa + */ + public static void main(String[] args) { + launch(args); + } +} diff --git a/src/sample/sample.fxml b/src/mt/mt.fxml similarity index 60% rename from src/sample/sample.fxml rename to src/mt/mt.fxml index edfcaca..15e2636 100644 --- a/src/sample/sample.fxml +++ b/src/mt/mt.fxml @@ -1,3 +1,3 @@ - \ No newline at end of file diff --git a/src/sample/Controller.java b/src/sample/Controller.java deleted file mode 100644 index 54e5bd1..0000000 --- a/src/sample/Controller.java +++ /dev/null @@ -1,4 +0,0 @@ -package sample; - -public class Controller { -} diff --git a/src/sample/Main.java b/src/sample/Main.java deleted file mode 100644 index 9e9cebf..0000000 --- a/src/sample/Main.java +++ /dev/null @@ -1,40 +0,0 @@ -package sample; - -import javafx.application.Application; -import javafx.event.EventHandler; -import javafx.fxml.FXMLLoader; -import javafx.scene.Group; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.input.MouseButton; -import javafx.stage.Stage; -import javafx.scene.input.MouseEvent; - -public class Main extends Application { - - @Override - public void start(Stage primaryStage) throws Exception{ - //Parent root = FXMLLoader.load(getClass().getResource("sample.fxml")); - Group root = new Group(); - primaryStage.setTitle("Hello World"); - primaryStage.setScene(new Scene(root, 300, 275)); - Button button = new Button("Exit"); - button.setDefaultButton(true); - button.setLayoutX(130);button.setLayoutY(125); - EventHandler eventHandler = new EventHandler() { - @Override - public void handle(MouseEvent event) { - System.exit(0); - } - }; - button.addEventFilter(MouseEvent.MOUSE_CLICKED,eventHandler); - root.getChildren().add(button); - primaryStage.show(); - } - - - public static void main(String[] args) { - launch(args); - } -}